public void Log(LogLevel logLevel, Func <string> messageFunc, Exception exception = null) { if (!IsLogEnabled(logLevel)) { return; } var level = GetLogLevel(logLevel); if (exception != null) { _logger.Log(level, exception, messageFunc()); } else { _logger.Log(level, messageFunc()); } }
private static Microsoft.Extensions.Logging.LogLevel GetLogLevel(LogLevel logLevel) { switch (logLevel) { case LogLevel.Debug: return(Microsoft.Extensions.Logging.LogLevel.Debug); case LogLevel.Info: return(Microsoft.Extensions.Logging.LogLevel.Information); case LogLevel.Warning: return(Microsoft.Extensions.Logging.LogLevel.Warning); case LogLevel.Error: return(Microsoft.Extensions.Logging.LogLevel.Error); case LogLevel.Fatal: return(Microsoft.Extensions.Logging.LogLevel.Critical); default: throw new ArgumentOutOfRangeException(nameof(logLevel), logLevel, null); } }
public bool IsLogEnabled(LogLevel logLevel) { var level = GetLogLevel(logLevel); return(_logger.IsEnabled(level)); }