public void Log_InIgnoredScopePrefix_LogsWithoutScope() { loggerProvider = new VostokLoggerProvider( log, new VostokLoggerProviderSettings { IgnoredScopePrefixes = new HashSet <string> { "system" } }); var logger = loggerProvider.CreateLogger(null); using (var scope1 = logger.BeginScope(new HashSet <int>())) using (var scope2 = logger.BeginScope(new HashSet <string>())) { scope1.Should().BeOfType <EmptyDisposable>(); scope2.Should().BeOfType <EmptyDisposable>(); logger.LogInformation("message"); } var expectedLogEvent = new VostokLogEvent(LogLevel.Info, DateTimeOffset.UtcNow, "message"); log.Events.Single() .Should() .BeEquivalentTo( expectedLogEvent, o => o.Excluding(x => x.Timestamp)); }
public void Log_InIgnoredScope_LogsWithoutScope() { loggerProvider = new VostokLoggerProvider( log, new VostokLoggerProviderSettings { IgnoredScopes = new HashSet <string> { typeof(HashSet <int>).FullName } }); var logger = loggerProvider.CreateLogger(null); using (var scope1 = logger.BeginScope(new HashSet <int>())) using (var scope2 = logger.BeginScope(new HashSet <string>())) { scope1.Should().BeOfType <EmptyDisposable>(); scope2.Should().NotBeOfType <EmptyDisposable>(); logger.LogInformation("message"); } var expectedLogEvent = new VostokLogEvent(LogLevel.Info, DateTimeOffset.UtcNow, "message") .WithProperty("operationContext", new OperationContextValue(new[] { "System.Collections.Generic.HashSet`1[System.String]" })); log.Events.Single() .Should() .BeEquivalentTo( expectedLogEvent, o => o.Excluding(x => x.Timestamp)); }
public void IsEnabledFor_ReturnsValidResult(LogLevel minLevel, MsLogLevel level, bool expectedEnabled) { loggerProvider = new VostokLoggerProvider(log.WithMinimumLevel(minLevel)); var logger = loggerProvider.CreateLogger(null); logger.IsEnabled(level).Should().Be(expectedEnabled); }
public void Log_WithEventIdWithNAMEOnly_LogsValidEvent() { loggerProvider = new VostokLoggerProvider(log, new VostokLoggerProviderSettings { AddEventIdProperties = true }); loggerProvider.CreateLogger(null).LogCritical(new EventId(0, "eventId"), "message"); var expectedLogEvent = new VostokLogEvent(LogLevel.Fatal, DateTimeOffset.Now, "message") .WithProperty("EventId.Name", "eventId"); log.Events.Single() .Should() .BeEquivalentTo( expectedLogEvent, o => o.Excluding(x => x.Timestamp)); }
public void CreateLoggerForCategory_ReturnsLoggerForValidContext(string context) { loggerProvider.CreateLogger(context).LogInformation("message"); object actualSourceContext = null; log.Events.Single().Properties?.TryGetValue(WellKnownProperties.SourceContext, out actualSourceContext); if (context == null) { actualSourceContext.Should().BeNull(); } else { actualSourceContext.Should().BeOfType <SourceContextValue>().Which.Should().Equal(context); } }