diff --git a/src/Pepperdash Core/Logging/Debug.cs b/src/Pepperdash Core/Logging/Debug.cs index f2beed2..fe7138b 100644 --- a/src/Pepperdash Core/Logging/Debug.cs +++ b/src/Pepperdash Core/Logging/Debug.cs @@ -109,9 +109,9 @@ namespace PepperDash.Core // Instantiate the root logger _logger = new LoggerConfiguration() - .WriteTo.Logger(lc => lc - .WriteTo.Console(levelSwitch: _consoleLoggingLevelSwitch)) - .WriteTo.Sink(new DebugWebsocketSink(), levelSwitch: _websocketLoggingLevelSwitch) + //.WriteTo.Logger(lc => lc + //.WriteTo.Console(levelSwitch: _consoleLoggingLevelSwitch)) + .WriteTo.Sink(new DebugWebsocketSink(), levelSwitch: _websocketLoggingLevelSwitch) .WriteTo.File(@"\user\debug\global-log-{Date}.txt" , rollingInterval: RollingInterval.Day , restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Debug) @@ -218,7 +218,7 @@ namespace PepperDash.Core if (programEventType == eProgramStatusEventType.Stopping) { - //_logger.CloseAndFlush(); + Log.CloseAndFlush(); if (_saveTimer != null) { @@ -370,9 +370,12 @@ namespace PepperDash.Core /// Valid values 0 (no debug), 1 (critical), 2 (all messages) public static void SetDebugLevel(int level) { - if (level <= 2) + _consoleLoggingLevelSwitch.MinimumLevel = (LogEventLevel)level; + + if (level <= 5) { Level = level; + _contexts.GetOrCreateItem("DEFAULT").Level = level; SaveMemoryOnTimeout(); diff --git a/src/Pepperdash Core/Logging/DebugWebsocketSink.cs b/src/Pepperdash Core/Logging/DebugWebsocketSink.cs index c335759..165cb80 100644 --- a/src/Pepperdash Core/Logging/DebugWebsocketSink.cs +++ b/src/Pepperdash Core/Logging/DebugWebsocketSink.cs @@ -13,20 +13,33 @@ namespace PepperDash.Core { public class DebugWebsocketSink : ILogEventSink { - public WebSocketServer WSSV { get; private set; } + private WebSocketServer _wssv { get; private set; } private readonly IFormatProvider _formatProvider; public DebugWebsocketSink() { - WSSV = new WebSocketServer(); + _wssv = new WebSocketServer(); } public void Emit(LogEvent logEvent) { + if (_wssv == null || !_wssv.IsListening) return; + var message = logEvent.RenderMessage(_formatProvider); - WSSV.WebSocketServices.Broadcast(message); + _wssv.WebSocketServices.Broadcast(message); + } + + public void StartServerAndSetPort(int port) + { + _wssv = new WebSocketServer(port); + _wssv.Start(); + } + + public void StopServer() + { + _wssv.Stop(); } }