Пример #1
0
        public void LoggerBuilderMustProduceLogger()
        {
            const string logFile = "LoggingBuilderExtension.log";

            if (File.Exists(logFile))
            {
                File.Delete(logFile);
            }

            var services = new ServiceCollection();

            LogAdministrator logAdministrator = null;

            services.AddLogging(loggerBuilder =>
            {
                loggerBuilder.AddNajlotLog((admin) =>
                {
                    logAdministrator = admin;
                    logAdministrator.AddFileDestination(logFile);
                });
            });

            using (logAdministrator)
            {
                services.AddTransient <DependencyInjectionLoggerService>();

                var serviceProvider = services.BuildServiceProvider();

                var service = serviceProvider.GetService <DependencyInjectionLoggerService>();
                service.GetLogger().LogInformation("Logger created!");
                service.GetLogger().LogTrace("This should not be logged!");
            }

            var content = File.ReadAllText(logFile);

            Assert.Contains("Logger created!", content);
            Assert.DoesNotContain("This should not be logged!", content);
            Assert.Contains(typeof(DependencyInjectionLoggerService).FullName, content);
        }