public static void ConfigureLogger() { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .Enrich.WithThreadId() .Enrich.WithEnvironmentUserName() .Enrich.WithExceptionDetails() .Enrich.WithCaller() #if DEBUG .WriteTo.Console(LogEventLevel.Verbose, "[{Timestamp:HH:mm:ss.fff} {Level:u3}][{ThreadId}] {Message} (at {Caller}){NewLine}{Exception}", theme: Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme.Code) #endif .WriteTo.File(Path.Combine(ApplicationPath.Logs, "soundswitch.log"), rollingInterval: RollingInterval.Day, retainedFileCountLimit: 3, flushToDiskInterval: TimeSpan.FromMinutes(10), outputTemplate: "[{Timestamp:HH:mm:ss.fff} {Level:u3}][{ThreadId}] {Message} (at {Caller}){NewLine}{Exception}") .WriteTo.Sentry(o => { o.InitializeSdk = false; o.MinimumBreadcrumbLevel = LogEventLevel.Debug; o.MinimumEventLevel = LogEventLevel.Error; }) .CreateLogger(); var listener = new global::SerilogTraceListener.SerilogTraceListener(); Trace.Listeners.Add(listener); }
public void SetUp() { var delegatingSink = new DelegatingSink(evt => { _loggedEvent = evt; }); var logger = new LoggerConfiguration().MinimumLevel.Verbose().WriteTo.Sink(delegatingSink).CreateLogger(); _loggedEvent = null; _traceListener = new global::SerilogTraceListener.SerilogTraceListener(logger); }
public void SetUp() { var delegatingSink = new DelegatingSink(evt => { _loggedEvent = evt; }); var logger = new LoggerConfiguration().MinimumLevel.Verbose().WriteTo.Sink(delegatingSink).CreateLogger(); _loggedEvent = null; _traceListener = new global::SerilogTraceListener.SerilogTraceListener(logger); }
public static void ConfigureLogger() { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .Enrich.WithThreadId() .Enrich.WithEnvironmentUserName() .Enrich.WithExceptionDetails() .Enrich.WithCaller() .WriteTo.File(Path.Combine(ApplicationPath.Logs, "soundswitch.log"), rollingInterval: RollingInterval.Day, retainedFileCountLimit: 3, flushToDiskInterval: TimeSpan.FromMinutes(10), outputTemplate: "[{Timestamp:HH:mm:ss.fff} {Level:u3}] {Message} (at {Caller}){NewLine}{Exception}") .CreateLogger(); var listener = new global::SerilogTraceListener.SerilogTraceListener(); Trace.Listeners.Add(listener); }
//------------------------------------------------------------------------------------------------ // construction //------------------------------------------------------------------------------------------------ public DeribitJsonRpcService ( IDeribitService deribit, IDeribitWebSocketService wsservice, DeribitConfig config ) { // dependencies this.deribit = deribit; this.deribitconfig = config; this.wsservice = wsservice; // logger this.logger = Serilog.Log.ForContext <DeribitJsonRpcService>(); // message formatter JsonMessageFormatter messageformatter = new JsonMessageFormatter() { Encoding = Encoding.UTF8, ProtocolVersion = new Version(2, 0), }; // attach json rpc to websocket WebSocketMessageHandler wsmh = new WebSocketMessageHandler(wsservice.ClientWebSocket); this.JsonRpc = new StreamJsonRpc.JsonRpc(wsmh); // build proxy // https://github.com/microsoft/vs-streamjsonrpc/blob/master/doc/dynamicproxy.md this.RpcProxy = this.JsonRpc.Attach <IDeribitJsonRpcProxy>(new JsonRpcProxyOptions { ServerRequiresNamedArguments = true, }); // tracing if (config.EnableJsonRpcTracing) { var listener = new global::SerilogTraceListener.SerilogTraceListener(); this.JsonRpc.TraceSource.Listeners.Add(listener); this.JsonRpc.TraceSource.Switch.Level = System.Diagnostics.SourceLevels.Information; this.logger.Verbose("JsonRpc tracing enabled"); } }