Пример #1
0
        private static void ReadConfiguration(string path, LogAdministrator logAdministrator)
        {
            var            xmlSerializer = new XmlSerializer(typeof(Configurations));
            Configurations fileConfigurations;

            using (var streamReader = new StreamReader(path))
            {
                fileConfigurations = xmlSerializer.Deserialize(streamReader) as Configurations;
            }

            logAdministrator.SetLogLevel(fileConfigurations.LogLevel);

            foreach (var config in fileConfigurations.Destinations)
            {
                var parameterDictionary = config.Parameters
                                          .ToDictionary(parameter => parameter.Name, parameter => parameter.Value);

                logAdministrator.SetDestinationConfiguration(config.Name, parameterDictionary);

                if (!string.IsNullOrWhiteSpace(config.CollectMiddleware?.Name))
                {
                    logAdministrator.SetCollectMiddleware(config.Name, config.CollectMiddleware?.Name);
                }

                if (config.Middlewares != null)
                {
                    var names = config.Middlewares
                                .Select(m => m.Name)
                                .Where(m => !string.IsNullOrWhiteSpace(m));

                    logAdministrator.SetMiddlewareNames(config.Name, names);
                }
            }
        }
Пример #2
0
        public void IsEnabledMustReturnCorrectLogLevelEnabled()
        {
            using var loggerFactory = new LoggerFactory();
            LogAdministrator logAdministrator = null;

            loggerFactory.AddNajlotLog((administrator) =>
            {
                logAdministrator = administrator.AddConsoleDestination();
            });

            logAdministrator.SetLogLevel(LogLevel.Trace);

            var logger = loggerFactory.CreateLogger("default");

            Assert.True(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Trace));

            logAdministrator.SetLogLevel(LogLevel.Debug);
            Assert.False(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Trace));
            Assert.True(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Debug));

            logAdministrator.SetLogLevel(LogLevel.Info);
            Assert.False(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Debug));
            Assert.True(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Information));

            logAdministrator.SetLogLevel(LogLevel.Warn);
            Assert.False(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Information));
            Assert.True(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Warning));

            logAdministrator.SetLogLevel(LogLevel.Error);
            Assert.False(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Warning));
            Assert.True(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Error));

            logAdministrator.SetLogLevel(LogLevel.Fatal);
            Assert.False(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Error));
            Assert.True(logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Critical));

            logAdministrator.SetLogLevel(LogLevel.Info);

            logger.LogInformation("Done!");
        }