From ada8b7e1626060e026bc59d9daf7d19dcda5bdad Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Fri, 8 Mar 2024 08:47:43 -0600 Subject: [PATCH] fix: update logging format to include key --- .gitignore | 1 + src/Pepperdash Core/Logging/Debug.cs | 19 ++++++++++--------- .../Logging/DebugConsoleSink.cs | 18 ++++++++++-------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 8a30d25..6c7cb0d 100644 --- a/.gitignore +++ b/.gitignore @@ -396,3 +396,4 @@ FodyWeavers.xsd # JetBrains Rider *.sln.iml +*.projectinfo diff --git a/src/Pepperdash Core/Logging/Debug.cs b/src/Pepperdash Core/Logging/Debug.cs index 4fec380..6648aff 100644 --- a/src/Pepperdash Core/Logging/Debug.cs +++ b/src/Pepperdash Core/Logging/Debug.cs @@ -24,11 +24,11 @@ namespace PepperDash.Core private static Dictionary _logLevels = new Dictionary() { {0, LogEventLevel.Information }, - {1, LogEventLevel.Warning }, - {2, LogEventLevel.Error }, - {3, LogEventLevel.Fatal }, - {4, LogEventLevel.Debug }, - {5, LogEventLevel.Verbose }, + {3, LogEventLevel.Warning }, + {4, LogEventLevel.Error }, + {5, LogEventLevel.Fatal }, + {1, LogEventLevel.Debug }, + {2, LogEventLevel.Verbose }, }; private static Logger _logger; @@ -104,7 +104,7 @@ namespace PepperDash.Core _consoleLoggingLevelSwitch = new LoggingLevelSwitch(initialMinimumLevel: LogEventLevel.Information); _consoleLoggingLevelSwitch.MinimumLevelChanged += (sender, args) => { - Debug.Console(0, "Console debug level set to {0}", _consoleLoggingLevelSwitch.MinimumLevel); + Console(0, "Console debug level set to {0}", _consoleLoggingLevelSwitch.MinimumLevel); }; _websocketLoggingLevelSwitch = new LoggingLevelSwitch(initialMinimumLevel: LogEventLevel.Verbose); _websocketSink = new DebugWebsocketSink(new JsonFormatter(renderMessage: true)); @@ -116,7 +116,7 @@ namespace PepperDash.Core .WriteTo.Sink(_websocketSink, levelSwitch: _websocketLoggingLevelSwitch) .WriteTo.File(@"\user\debug\global-log-{Date}.txt" , rollingInterval: RollingInterval.Day - , restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Debug) + , restrictedToMinimumLevel: LogEventLevel.Debug) .CreateLogger(); // Get the assembly version and print it to console and the log @@ -455,6 +455,7 @@ namespace PepperDash.Core if (!_logLevels.ContainsKey(level)) return; var logLevel = _logLevels[level]; + _logger.Write(logLevel, format, items); } @@ -464,8 +465,8 @@ namespace PepperDash.Core var logLevel = _logLevels[level]; - var log = _logger.ForContext("Key", keyed.Key); - log.Write(logLevel, format, items); + var logger = _logger.ForContext("Key", keyed.Key); + logger.Write(logLevel, format, items); } diff --git a/src/Pepperdash Core/Logging/DebugConsoleSink.cs b/src/Pepperdash Core/Logging/DebugConsoleSink.cs index e991429..2102a24 100644 --- a/src/Pepperdash Core/Logging/DebugConsoleSink.cs +++ b/src/Pepperdash Core/Logging/DebugConsoleSink.cs @@ -20,19 +20,21 @@ namespace PepperDash.Core public void Emit(LogEvent logEvent) { - if (!Debug.IsRunningOnAppliance) return; + if (!Debug.IsRunningOnAppliance) return; - CrestronConsole.PrintLine("[{0}][App {1}][Lvl {2}]: {3}", logEvent.Timestamp, - InitialParametersClass.ApplicationNumber, - logEvent.Level, - logEvent.RenderMessage()); + string message = $"[{logEvent.Timestamp}][{logEvent.Level}][App {InitialParametersClass.ApplicationNumber}]{logEvent.RenderMessage()}"; + + if(logEvent.Properties.TryGetValue("Key",out var value) && value is ScalarValue sv && sv.Value is string rawValue) + { + message = $"[{logEvent.Timestamp}][{logEvent.Level}][App {InitialParametersClass.ApplicationNumber}][{rawValue}]: {logEvent.RenderMessage()}"; + } + + CrestronConsole.PrintLine(message); } - public DebugConsoleSink(ITextFormatter formatProvider) + public DebugConsoleSink(ITextFormatter formatProvider ) { - _textFormatter = formatProvider ?? new JsonFormatter(); - } }