Exemplo n.º 1
0
        public ICollection <ILoggerConfiguration> GetLoggerConfigurations()
        {
            var results = new Dictionary <string, ILoggerConfiguration>();

            // get the default first
            var configuredDefault = GetConfiguredLevel("Default") ?? LogLevel.None;
            var effectiveDefault  = GetEffectiveLevel("Default");

            results.Add("Default", new DynamicLoggerConfiguration("Default", configuredDefault, effectiveDefault));

            // then get all running loggers
            foreach (var logger in _loggers)
            {
                foreach (var name in GetKeyPrefixes(logger.Key))
                {
                    if (name != "Default")
                    {
                        var configured = GetConfiguredLevel(name);
                        var effective  = GetEffectiveLevel(name);
                        var config     = new DynamicLoggerConfiguration(name, configured, effective);
                        if (results.ContainsKey(name) && !results[name].Equals(config))
                        {
                            Console.WriteLine(
                                $"Attempted to add duplicate Key {name} with value {config} clashes with {results[name]}");
                        }
                        else
                        {
                            results[name] = config;
                        }
                    }
                }
            }

            return(results.Values);
        }
Exemplo n.º 2
0
        public ICollection <ILoggerConfiguration> GetLoggerConfigurations()
        {
            var results = new Dictionary <string, ILoggerConfiguration>();

            // get the default first
            LogLevel configuredDefault = GetConfiguredLevel("Default") ?? LogLevel.None;
            LogLevel effectiveDefault  = GetEffectiveLevel("Default");

            results.Add("Default", new DynamicLoggerConfiguration("Default", configuredDefault, effectiveDefault));

            // then get all running loggers
            foreach (var logger in _loggers)
            {
                foreach (var name in GetKeyPrefixes(logger.Key))
                {
                    if (name != "Default")
                    {
                        LogLevel?configured = GetConfiguredLevel(name);
                        LogLevel effective  = GetEffectiveLevel(logger.Key);
                        var      config     = new DynamicLoggerConfiguration(name, configured, effective);
                        if (results.ContainsKey(name) && !results[name].Equals(config))
                        {
                            throw new InvalidProgramException("Shouldn't happen");
                        }

                        results[name] = config;
                    }
                }
            }

            return(results.Values);
        }