static void ClearDummySinkStaticState() { DummyConsoleSink.Reset(); DummyAuditSink.Reset(); DummySink.Reset(); DummySinkWithComplexParams.Reset(); DummyRollingFileAuditSink.Reset(); DummyRollingFileSink.Reset(); DummySinkWithParams.Reset(); DummyWithLevelSwitchSink.Reset(); }
public void Fact3() { DummySink sink = new DummySink(); LoggerSourceContextLevelOverrides switches = new LoggerSourceContextLevelOverrides(LogEventLevel.Warning, KeyValuePair.Create("A", LogEventLevel.Debug), KeyValuePair.Create("2", LogEventLevel.Debug), KeyValuePair.Create("3", LogEventLevel.Debug), KeyValuePair.Create("4", LogEventLevel.Debug), KeyValuePair.Create("5", LogEventLevel.Debug), KeyValuePair.Create("6", LogEventLevel.Debug), KeyValuePair.Create("7", LogEventLevel.Debug), KeyValuePair.Create("8", LogEventLevel.Debug), KeyValuePair.Create("9", LogEventLevel.Debug), KeyValuePair.Create("10", LogEventLevel.Debug) ); Logger logger = new LoggerConfiguration() .Filter().MinimumLevel() .WriteTo.Logger(c => c .Filter().Overrides(switches) .WriteTo.Sink(sink)) .CreateLogger(); Logger defaultLogger = new LoggerConfiguration() .Filter().MinimumLevel() .WriteTo.Logger(c => c .Filter().Overrides(switches) .WriteTo.Sink(sink)) .CreateLogger(); Serilog.ILogger abLogger = logger.ForContext(Constants.SourceContextPropertyName, "A.B"); Serilog.ILogger bLogger = logger.ForContext(Constants.SourceContextPropertyName, "B"); for (int i = 0; i < 100_000; i++) { bLogger.Information("b"); } Assert.Empty(sink.Events); sink.Events.Clear(); for (int i = 0; i < 100_000; i++) { abLogger.Debug("ab"); } Assert.Equal(100000, sink.Events.Count); sink.Events.Clear(); }
public void Fact4() { SelfLog.Enable(output.WriteLine); DummySink sink = new DummySink(); Logger logger = new LoggerConfiguration() .Enrich.FromLogContext() .WriteTo.Sink(sink) .CreateLogger(); Serilog.ILogger aLogger = logger.ForContext(Constants.SourceContextPropertyName, "A"); aLogger.Information("ab"); Assert.Collection(sink.Events, e => Assert.Equal("ab", e.MessageTemplate.Text)); for (int i = 0; i < 100_000; i++) { aLogger.Information("ab"); } }