fix: adds text formatter

This commit is contained in:
Neil Dorin
2023-11-20 14:55:30 -07:00
parent 6c51ce5b95
commit 29c3fe22b1
3 changed files with 20 additions and 18 deletions

View File

@@ -11,6 +11,7 @@ using PepperDash.Core.DebugThings;
using Serilog;
using Serilog.Core;
using Serilog.Events;
using Serilog.Formatting.Compact;
namespace PepperDash.Core
{
@@ -106,7 +107,7 @@ namespace PepperDash.Core
{
_consoleLoggingLevelSwitch = new LoggingLevelSwitch(initialMinimumLevel: LogEventLevel.Information);
_websocketLoggingLevelSwitch = new LoggingLevelSwitch();
_websocketSink = new DebugWebsocketSink();
_websocketSink = new DebugWebsocketSink(new CompactJsonFormatter());
// Instantiate the root logger
_logger = new LoggerConfiguration()

View File

@@ -15,6 +15,9 @@ using WebSocketSharp.Net;
using X509Certificate2 = System.Security.Cryptography.X509Certificates.X509Certificate2;
using System.IO;
using Org.BouncyCastle.Asn1.X509;
using Serilog.Formatting;
using Newtonsoft.Json.Linq;
using Serilog.Formatting.Json;
namespace PepperDash.Core
{
@@ -47,11 +50,13 @@ namespace PepperDash.Core
public bool IsRunning { get => _httpsServer?.IsListening ?? false; }
private readonly IFormatProvider _formatProvider;
private readonly ITextFormatter _textFormatter;
public DebugWebsocketSink()
public DebugWebsocketSink(ITextFormatter formatProvider)
{
_textFormatter = formatProvider ?? new JsonFormatter();
if (!File.Exists($"\\user\\{_certificateName}.pfx"))
CreateCert(null);
@@ -104,16 +109,11 @@ namespace PepperDash.Core
{
if (_httpsServer == null || !_httpsServer.IsListening) return;
var message = logEvent.RenderMessage(_formatProvider);
_httpsServer.WebSocketServices.Broadcast(message);
var sw = new StringWriter();
_textFormatter.Format(logEvent, sw);
_httpsServer.WebSocketServices.Broadcast(sw.ToString());
foreach(var service in _httpsServer.WebSocketServices.Hosts)
{
foreach (var session in service.Sessions.Sessions)
{
}
}
}
public void StartServerAndSetPort(int port)
@@ -121,10 +121,10 @@ namespace PepperDash.Core
Debug.Console(0, "Starting Websocket Server on port: {0}", port);
Start(port, $"\\user\\{_certificateName}.pfx", _certificatePassword, @"/");
Start(port, $"\\user\\{_certificateName}.pfx", _certificatePassword);
}
private void Start(int port, string certPath = "", string certPassword = "", string rootPath = @"/html")
private void Start(int port, string certPath = "", string certPassword = "")
{
try
{
@@ -210,9 +210,9 @@ namespace PepperDash.Core
{
public static LoggerConfiguration DebugWebsocketSink(
this LoggerSinkConfiguration loggerConfiguration,
IFormatProvider formatProvider = null)
ITextFormatter formatProvider = null)
{
return loggerConfiguration.Sink(new DebugWebsocketSink());
return loggerConfiguration.Sink(new DebugWebsocketSink(formatProvider));
}
}

View File

@@ -36,8 +36,9 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.2">
<Aliases>Full</Aliases>
</PackageReference>
<PackageReference Include="Serilog" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
<PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.Formatting.Compact" Version="2.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="WebSocketSharp" Version="1.0.3-rc11" />
</ItemGroup>