using log4net.Core; using System; namespace Microsoft.Extensions.Logging { /// public sealed class Log4NetLogLevelTranslator : ILog4NetLogLevelTranslator { /// public Level TranslateLogLevel(LogLevel logLevel, Log4NetProviderOptions options) { Level log4NetLevel = null; switch (logLevel) { case LogLevel.Critical: string overrideCriticalLevelWith = options.OverrideCriticalLevelWith; log4NetLevel = !string.IsNullOrEmpty(overrideCriticalLevelWith) && overrideCriticalLevelWith.Equals(LogLevel.Critical.ToString(), StringComparison.OrdinalIgnoreCase) ? Level.Critical : Level.Fatal; break; case LogLevel.Debug: log4NetLevel = Level.Debug; break; case LogLevel.Error: log4NetLevel = Level.Error; break; case LogLevel.Information: log4NetLevel = Level.Info; break; case LogLevel.Warning: log4NetLevel = Level.Warn; break; case LogLevel.Trace: log4NetLevel = Level.Trace; break; } return log4NetLevel; } } }