/// <summary> /// Log current log levels /// </summary> public static void WriteLogLevels(MailDemon.LogLevel level = LogLevel.Warn) { if (logger != null) { MailDemonLog.Write(level, "Log levels: {0},{1},{2},{3},{4},{5}", logger.IsFatalEnabled, logger.IsErrorEnabled, logger.IsWarnEnabled, logger.IsInfoEnabled, logger.IsDebugEnabled, logger.IsTraceEnabled); } }
/// <summary> /// Write to the log /// </summary> /// <param name="level">Log level</param> /// <param name="text">Text with format</param> /// <param name="args">Format args</param> private static void Write(MailDemon.LogLevel level, string text, params object[] args) { try { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } logger?.Log(GetNLogLevel(level), text, args); } catch { Console.WriteLine("{0}: {1}", level, string.Format(text, args)); } }
/// <summary> /// Map IPBan log level to NLog log level /// </summary> /// <param name="logLevel">IPBan log level</param> /// <returns>NLog log level</returns> public static NLog.LogLevel GetNLogLevel(MailDemon.LogLevel logLevel) { switch (logLevel) { case MailDemon.LogLevel.Critical: return(NLog.LogLevel.Fatal); case MailDemon.LogLevel.Debug: return(NLog.LogLevel.Debug); case MailDemon.LogLevel.Error: return(NLog.LogLevel.Error); case MailDemon.LogLevel.Information: return(NLog.LogLevel.Info); case MailDemon.LogLevel.Trace: return(NLog.LogLevel.Trace); case MailDemon.LogLevel.Warning: return(NLog.LogLevel.Warn); default: return(NLog.LogLevel.Off); } }