Compare commits
2 Commits
v1.0.30-ma
...
v1.0.32-ma
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ec1b017946 | ||
![]() |
cf75210304 |
@@ -63,8 +63,7 @@ namespace Torch.Server
|
|||||||
File.Move(oldTorchCfg, torchCfg, true);
|
File.Move(oldTorchCfg, torchCfg, true);
|
||||||
|
|
||||||
Target.Register<LogViewerTarget>(nameof(LogViewerTarget));
|
Target.Register<LogViewerTarget>(nameof(LogViewerTarget));
|
||||||
LogManager.Configuration = new XmlLoggingConfiguration(newNlog);
|
TorchLogManager.SetConfiguration(new XmlLoggingConfiguration(newNlog));
|
||||||
LogManager.ReconfigExistingLoggers();
|
|
||||||
|
|
||||||
var config = Persistent<TorchConfig>.Load(torchCfg);
|
var config = Persistent<TorchConfig>.Load(torchCfg);
|
||||||
config.Data.InstanceName = instanceName;
|
config.Data.InstanceName = instanceName;
|
||||||
@@ -83,6 +82,9 @@ namespace Torch.Server
|
|||||||
Environment.Exit(1);
|
Environment.Exit(1);
|
||||||
|
|
||||||
TorchLauncher.Launch(workingDir, binDir);
|
TorchLauncher.Launch(workingDir, binDir);
|
||||||
|
TorchLogManager.SetConfiguration(TorchLogManager.Configuration,
|
||||||
|
Environment.GetEnvironmentVariable("TORCH_LOG_EXTENSIONS_PATH") ??
|
||||||
|
Path.Combine(instancePath, "LoggingExtensions"));
|
||||||
|
|
||||||
CopyNative(binDir);
|
CopyNative(binDir);
|
||||||
initializer.Run(isService, instanceName, instancePath);
|
initializer.Run(isService, instanceName, instancePath);
|
||||||
|
@@ -5,6 +5,7 @@ using System.Runtime.CompilerServices;
|
|||||||
using NLog;
|
using NLog;
|
||||||
using NLog.Config;
|
using NLog.Config;
|
||||||
using Torch.Managers.PatchManager;
|
using Torch.Managers.PatchManager;
|
||||||
|
using Torch.Utils;
|
||||||
|
|
||||||
namespace Torch.Patches
|
namespace Torch.Patches
|
||||||
{
|
{
|
||||||
@@ -36,16 +37,13 @@ namespace Torch.Patches
|
|||||||
_log.Warn("GALogger constructor is unknown. Logging may not function.");
|
_log.Warn("GALogger constructor is unknown. Logging may not function.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ctx.GetPattern(ctor).Prefixes.Add(typeof(GameAnalyticsPatch).GetMethod(nameof(PatchLogger),
|
ctx.GetPattern(ctor).AddPrefix(nameof(PatchLogger));
|
||||||
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void FixLogging()
|
private static void FixLogging()
|
||||||
{
|
{
|
||||||
|
TorchLogManager.RestoreGlobalConfiguration();
|
||||||
_setLogger(null, LogManager.GetLogger("GameAnalytics"));
|
_setLogger(null, LogManager.GetLogger("GameAnalytics"));
|
||||||
if (!(LogManager.Configuration is XmlLoggingConfiguration))
|
|
||||||
LogManager.Configuration = new XmlLoggingConfiguration(Path.Combine(
|
|
||||||
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) ?? Environment.CurrentDirectory, "NLog.config"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool PatchLogger()
|
private static bool PatchLogger()
|
||||||
|
38
Torch/Utils/TorchLogManager.cs
Normal file
38
Torch/Utils/TorchLogManager.cs
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Runtime.Loader;
|
||||||
|
using NLog;
|
||||||
|
using NLog.Config;
|
||||||
|
|
||||||
|
namespace Torch.Utils;
|
||||||
|
|
||||||
|
public static class TorchLogManager
|
||||||
|
{
|
||||||
|
private static readonly AssemblyLoadContext LoadContext = new("TorchLog");
|
||||||
|
|
||||||
|
public static LoggingConfiguration Configuration { get; private set; }
|
||||||
|
|
||||||
|
public static void SetConfiguration(LoggingConfiguration configuration, string extensionsDir = null)
|
||||||
|
{
|
||||||
|
Configuration = configuration;
|
||||||
|
LogManager.Setup()
|
||||||
|
.SetupExtensions(builder =>
|
||||||
|
{
|
||||||
|
if (extensionsDir is null || !Directory.Exists(extensionsDir))
|
||||||
|
return;
|
||||||
|
foreach (var file in Directory.EnumerateFiles(extensionsDir, "*.dll", SearchOption.AllDirectories))
|
||||||
|
{
|
||||||
|
builder.RegisterAssembly(LoadContext.LoadFromAssemblyPath(file));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.SetupLogFactory(builder => builder.SetThrowConfigExceptions(true))
|
||||||
|
.LoadConfiguration(configuration);
|
||||||
|
LogManager.ReconfigExistingLoggers();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RestoreGlobalConfiguration()
|
||||||
|
{
|
||||||
|
LogManager.Configuration = Configuration;
|
||||||
|
LogManager.ReconfigExistingLoggers();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user