private static void SetupLogging(RuntimeSettings settings, ContainerBuilder builder) { var logFileName = settings.CustomLogFileName ?? "log.txt"; var logLevel = settings.TracingEnabled ? LogLevel.Debug : 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); LogManager.Configuration = logConfig; if (builder != null) { builder.RegisterInstance(LogManager.GetCurrentClassLogger()).SingleInstance(); } }
public static LoggingConfiguration GetLoggingConfiguration(RuntimeSettings settings, bool fileOnly = false) { 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 = Path.Combine(settings.DataFolder, logFileName + ".{#####}.txt"); logFile.ArchiveAboveSize = 500000; logFile.MaxArchiveFiles = 5; logFile.KeepFileOpen = false; logFile.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; var logFileRule = new LoggingRule("*", logLevel, logFile); logConfig.LoggingRules.Add(logFileRule); if (!fileOnly) { 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 LoggingConfiguration GetLoggingConfiguration(RuntimeSettings settings, bool fileOnly = false) { 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 { Layout = "${longdate} ${level} ${message} ${exception:format=ToString}", FileName = Path.Combine(settings.DataFolder, logFileName), ArchiveFileName = Path.Combine(settings.DataFolder, logFileName + ".{#####}.txt"), ArchiveAboveSize = 2097152, // 2 MB MaxArchiveFiles = 5, KeepFileOpen = false, ArchiveNumbering = ArchiveNumberingMode.DateAndSequence }; logConfig.AddTarget("file", logFile); var microsoftRule = new LoggingRule { LoggerNamePattern = "Microsoft.*", Final = true }; microsoftRule.SetLoggingLevels(LogLevel.Warn, LogLevel.Fatal); microsoftRule.Targets.Add(logFile); var microsoftDebugRule = new LoggingRule { LoggerNamePattern = "Microsoft.*" }; microsoftDebugRule.SetLoggingLevels(LogLevel.Debug, LogLevel.Info); microsoftDebugRule.Final = true; if (settings.TracingEnabled) { microsoftDebugRule.Targets.Add(logFile); } logConfig.LoggingRules.Add(microsoftDebugRule); var logFileRule = new LoggingRule("*", logLevel, logFile); logConfig.LoggingRules.Add(logFileRule); if (!fileOnly) { var logConsole = new ColoredConsoleTarget { Layout = "${simpledatetime} ${level} ${message} ${exception:format=ToString}" }; logConfig.AddTarget("console", logConsole); 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); microsoftRule.Targets.Add(logConsole); microsoftRule.Targets.Add(logService); if (settings.TracingEnabled) { microsoftDebugRule.Targets.Add(logConsole); microsoftDebugRule.Targets.Add(logService); } } logConfig.LoggingRules.Add(microsoftRule); return(logConfig); }