/// <summary> /// Returns the system log level corresponding to a Hangfire log level. /// </summary> private static SystemLogLevel GetSystemLogLevel(HangfireLogLevel logLevel) { switch (logLevel) { case HangfireLogLevel.Debug: return(SystemLogLevel.Debug); case HangfireLogLevel.Trace: return(SystemLogLevel.Trace); case HangfireLogLevel.Info: return(SystemLogLevel.Information); case HangfireLogLevel.Warn: return(SystemLogLevel.Warning); case HangfireLogLevel.Error: return(SystemLogLevel.Error); case HangfireLogLevel.Fatal: return(SystemLogLevel.Critical); default: throw new ArgumentOutOfRangeException(nameof(logLevel)); } }
/// <summary> /// Logs a message from Hangfire. /// </summary> public bool Log(HangfireLogLevel logLevel, Func <string> messageFunc, Exception exception = null) { var systemLogLevel = GetSystemLogLevel(logLevel); if (!_logger.IsEnabled(systemLogLevel)) { return(false); } var message = messageFunc != null?messageFunc() : string.Empty; _logger.Log(GetSystemLogLevel(logLevel), 0, message, exception, MessageFormatter); return(true); }