public void LeveledEnrichersCheckLevelSwitch() { var enricher = new CollectingEnricher(); var levelSwitch = new LoggingLevelSwitch(LogEventLevel.Warning); var logger = new LoggerConfiguration() .Enrich.AtLevel(levelSwitch, enrich => enrich.With(enricher)) .CreateLogger(); logger.Information("Information"); logger.Warning("Warning"); logger.Error("Error"); Assert.Equal(2, enricher.Events.Count); Assert.All(enricher.Events, e => Assert.True(e.Level >= LogEventLevel.Warning)); enricher.Events.Clear(); levelSwitch.MinimumLevel = LogEventLevel.Error; logger.Information("Information"); logger.Warning("Warning"); logger.Error("Error"); var error = Assert.Single(enricher.Events); Assert.True(error.Level == LogEventLevel.Error); }
public void LeveledEnrichersCheckLevels() { var enricher = new CollectingEnricher(); var logger = new LoggerConfiguration() .Enrich.AtLevel(LogEventLevel.Warning, enrich => enrich.With(enricher)) .CreateLogger(); logger.Information("Information"); logger.Warning("Warning"); logger.Error("Error"); Assert.Equal(2, enricher.Events.Count); Assert.All(enricher.Events, e => Assert.True(e.Level >= LogEventLevel.Warning)); }
public void ConditionalEnrichersCheckConditions() { var enricher = new CollectingEnricher(); var logger = new LoggerConfiguration() .Enrich.When(le => le.Level == LogEventLevel.Warning, enrich => enrich.With(enricher)) .CreateLogger(); logger.Information("Information"); logger.Warning("Warning"); logger.Error("Error"); var evt = Assert.Single(enricher.Events); Assert.Equal(LogEventLevel.Warning, evt.Level); }
public void EnrichersCanBeWrapped() { var enricher = new CollectingEnricher(); var configuration = new LoggerConfiguration(); LoggerEnrichmentConfiguration.Wrap( configuration.Enrich, e => new ConditionalEnricher(e, le => le.Level == LogEventLevel.Warning), enrich => enrich.With(enricher)); var logger = configuration.CreateLogger(); logger.Information("Information"); logger.Warning("Warning"); logger.Error("Error"); var evt = Assert.Single(enricher.Events); Assert.Equal(LogEventLevel.Warning, evt.Level); }