From 012f5f05cc082a7f04df6f0959c0f87ea4f0ac3b Mon Sep 17 00:00:00 2001 From: flightlevel Date: Fri, 22 Jun 2018 22:35:58 +1000 Subject: [PATCH] Update Logging --- .../ServerConfigurationController.cs | 2 +- src/Jackett.Server/Helper.cs | 23 +++++++ src/Jackett.Server/Initialisation.cs | 66 +------------------ src/Jackett.Server/Program.cs | 2 +- 4 files changed, 26 insertions(+), 67 deletions(-) diff --git a/src/Jackett.Server/Controllers/ServerConfigurationController.cs b/src/Jackett.Server/Controllers/ServerConfigurationController.cs index cc9a2fb57..bd32be677 100644 --- a/src/Jackett.Server/Controllers/ServerConfigurationController.cs +++ b/src/Jackett.Server/Controllers/ServerConfigurationController.cs @@ -96,7 +96,7 @@ namespace Jackett.Server.Controllers serverConfig.RuntimeSettings.BasePath = serverService.BasePath(); configService.SaveConfig(serverConfig); - Initialisation.SetLogLevel(logging ? LogLevel.Debug : LogLevel.Info); + Helper.SetLogLevel(logging ? LogLevel.Debug : LogLevel.Info); serverConfig.RuntimeSettings.TracingEnabled = logging; if (omdbApiKey != serverConfig.OmdbApiKey) diff --git a/src/Jackett.Server/Helper.cs b/src/Jackett.Server/Helper.cs index 19cbfd593..594c8a6d0 100644 --- a/src/Jackett.Server/Helper.cs +++ b/src/Jackett.Server/Helper.cs @@ -133,5 +133,28 @@ namespace Jackett.Server builder.RegisterInstance(logger).SingleInstance(); } } + + public static void SetLogLevel(LogLevel level) + { + foreach (var rule in LogManager.Configuration.LoggingRules) + { + if (level == LogLevel.Debug) + { + if (!rule.Levels.Contains(LogLevel.Debug)) + { + rule.EnableLoggingForLevel(LogLevel.Debug); + } + } + else + { + if (rule.Levels.Contains(LogLevel.Debug)) + { + rule.DisableLoggingForLevel(LogLevel.Debug); + } + } + } + + LogManager.ReconfigExistingLoggers(); + } } } diff --git a/src/Jackett.Server/Initialisation.cs b/src/Jackett.Server/Initialisation.cs index 8a9759539..c9772072b 100644 --- a/src/Jackett.Server/Initialisation.cs +++ b/src/Jackett.Server/Initialisation.cs @@ -1,14 +1,9 @@ -using Jackett.Common; -using Jackett.Common.Models.Config; -using Jackett.Common.Services; +using Jackett.Common.Models.Config; using Jackett.Common.Services.Interfaces; using Jackett.Common.Utils; using Jackett.Server.Services; using NLog; -using NLog.Config; -using NLog.Targets; using System; -using System.IO; using System.Linq; using System.Runtime.InteropServices; @@ -16,7 +11,6 @@ namespace Jackett.Server { public static class Initialisation { - public static void ProcessSettings(RuntimeSettings runtimeSettings, Logger logger) { if (runtimeSettings.ClientOverride != "httpclient" && runtimeSettings.ClientOverride != "httpclient2") @@ -180,63 +174,5 @@ namespace Jackett.Server { processService.StartProcessAndLog("netsh.exe", args); } - - public static LoggingConfiguration SetupLogging(RuntimeSettings settings) - { - var logFileName = settings.CustomLogFileName ?? "log.txt"; - var logLevel = settings.TracingEnabled ? NLog.LogLevel.Debug : NLog.LogLevel.Info; - // Add custom date time format renderer as the default is too long - ConfigurationItemFactory.Default.LayoutRenderers.RegisterDefinition("simpledatetime", typeof(SimpleDateTimeRenderer)); - - var logConfig = new LoggingConfiguration(); - var logFile = new FileTarget(); - logConfig.AddTarget("file", logFile); - logFile.Layout = "${longdate} ${level} ${message} ${exception:format=ToString}"; - logFile.FileName = Path.Combine(settings.DataFolder, logFileName); - logFile.ArchiveFileName = "log.{#####}.txt"; - logFile.ArchiveAboveSize = 500000; - logFile.MaxArchiveFiles = 5; - logFile.KeepFileOpen = false; - logFile.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; - var logFileRule = new LoggingRule("*", logLevel, logFile); - logConfig.LoggingRules.Add(logFileRule); - - var logConsole = new ColoredConsoleTarget(); - logConfig.AddTarget("console", logConsole); - - logConsole.Layout = "${simpledatetime} ${level} ${message} ${exception:format=ToString}"; - var logConsoleRule = new LoggingRule("*", logLevel, logConsole); - logConfig.LoggingRules.Add(logConsoleRule); - - var logService = new LogCacheService(); - logConfig.AddTarget("service", logService); - var serviceRule = new LoggingRule("*", logLevel, logService); - logConfig.LoggingRules.Add(serviceRule); - - return logConfig; - } - - public static void SetLogLevel(LogLevel level) - { - foreach (var rule in LogManager.Configuration.LoggingRules) - { - if (level == LogLevel.Debug) - { - if (!rule.Levels.Contains(LogLevel.Debug)) - { - rule.EnableLoggingForLevel(LogLevel.Debug); - } - } - else - { - if (rule.Levels.Contains(LogLevel.Debug)) - { - rule.DisableLoggingForLevel(LogLevel.Debug); - } - } - } - - LogManager.ReconfigExistingLoggers(); - } } } diff --git a/src/Jackett.Server/Program.cs b/src/Jackett.Server/Program.cs index b442afc5e..6052841a3 100644 --- a/src/Jackett.Server/Program.cs +++ b/src/Jackett.Server/Program.cs @@ -56,7 +56,7 @@ namespace Jackett.Server runtimeDictionary = GetValues(Settings); }); - LogManager.Configuration = Initialisation.SetupLogging(Settings); + LogManager.Configuration = LoggingSetup.GetLoggingConfiguration(Settings); Logger logger = LogManager.GetCurrentClassLogger(); logger.Info("Starting Jackett v" + EnvironmentUtil.JackettVersion);