示例#1
0
        public void AddConsoleLoggerMustAddConsoleLoggerSingletons()
        {
            IServiceCollection services = new ServiceCollection();
            LoggingBuilderStub builder  = new LoggingBuilderStub(services);

            Assert.Empty(services);
            builder.AddConsoleLogger();
            Assert.Contains(services, x => x.ServiceType == typeof(ILoggerProviderConfigurationFactory));
            Assert.Contains(services, x => x.ImplementationType == typeof(ConsoleLoggerManager));
            Assert.Contains(services, x => x.ImplementationType == typeof(ConsoleLoggerOptionsSetup));
            Assert.Contains(services, x => x.ImplementationType == typeof(LoggerProviderOptionsChangeTokenSource <ConsoleLoggerOptions, ConsoleLoggerManager>));
        }
示例#2
0
        public void AddNLog_LogginBuilder_LogInfo_ShouldLogToNLog()
        {
            // Arrange
            ILoggingBuilder builder = new LoggingBuilderStub();
            var             config  = CreateConfigWithMemoryTarget(out var memoryTarget);

            // Act
            builder.AddNLog(config);
            var provider = GetLoggerProvider(builder);
            var logger   = provider.CreateLogger("logger1");

            logger.LogInformation("test message with {0} arg", 1);

            // Assert
            AssertSingleMessage(memoryTarget, "Info|test message with 1 arg");
        }
        public void AddNLog_ReplaceLoggerFactory()
        {
            // Arrange
            ILoggingBuilder builder = new LoggingBuilderStub();

            // Act
            builder.AddNLog(new NLogProviderOptions()
            {
                ReplaceLoggerFactory = true, RemoveLoggerFactoryFilter = true
            });
            var loggerFactory  = builder.Services.BuildServiceProvider().GetService <ILoggerFactory>();
            var loggerProvider = GetLoggerProvider(builder);

            // Assert
            Assert.Equal(typeof(NLogLoggerFactory), loggerFactory.GetType());
            Assert.Equal(typeof(NLogLoggerProvider), loggerProvider.GetType());
        }
        public void AddNLog_LogFactoryBuilder_LogInfo_ShouldLogToNLog()
        {
            // Arrange
            ILoggingBuilder builder = new LoggingBuilderStub();

            // Act
            MemoryTarget memoryTarget = null;

            builder.AddNLog(ServiceProvider => CreateConfigWithMemoryTarget(out memoryTarget, logFactory: new NLog.LogFactory()).LogFactory);
            var provider = GetLoggerProvider(builder);
            var logger   = provider.CreateLogger("logger1");

            logger.LogInformation("test message with {0} arg", 1);

            // Assert
            AssertSingleMessage(memoryTarget, "Info|test message with 1 arg");
        }
        public void AddNLog_LoggingBuilder_LogInfoWithEventId_ShouldLogToNLogWithEventId(string eventPropery, string expectedEventInLog)
        {
            // Arrange
            ILoggingBuilder builder = new LoggingBuilderStub();
            var             config  = CreateConfigWithMemoryTarget(out var memoryTarget, $"${{event-properties:{eventPropery}}} - ${{message}}");
            var             options = new NLogProviderOptions {
                EventIdSeparator = "_"
            };

            // Act
            builder.AddNLog(config, options);
            var provider = GetLoggerProvider(builder);
            var logger   = provider.CreateLogger("logger1");

            logger.LogInformation(new EventId(2, "eventId2"), "test message with {0} arg", 1);

            // Assert
            AssertSingleMessage(memoryTarget, $"{expectedEventInLog} - test message with 1 arg");
        }