Пример #1
0
        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",
            });
        }
Пример #2
0
        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);
        }