public void BeginScope_ReturnsCompositeToken_ForMultipleLoggers() { var loggerProvider = new ExternalScopeLoggerProvider(); var loggerProvider2 = new InternalScopeLoggerProvider(); var loggerFactory = new LoggerFactory(new ILoggerProvider[] { loggerProvider, loggerProvider2 }); var logger = loggerFactory.CreateLogger("Logger"); using (logger.BeginScope("Scope")) { using (logger.BeginScope("Scope2")) { logger.LogInformation("Message"); } } logger.LogInformation("Message2"); Assert.Equal(loggerProvider.LogText, new[] { "Message", "Scope", "Scope2", "Message2", }); Assert.Equal(loggerProvider2.LogText, new[] { "Message", "Scope", "Scope2", "Message2", }); }
public void BeginScope_ReturnsInternalSourceTokenDirectly() { var loggerProvider = new InternalScopeLoggerProvider(); var loggerFactory = new LoggerFactory(new[] { loggerProvider }); var logger = loggerFactory.CreateLogger("Logger"); var scope = logger.BeginScope("Scope"); Assert.Contains("LoggerExternalScopeProvider+Scope", scope.GetType().FullName); }