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); }
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); }