示例#1
0
 /// <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);
     }
 }
示例#2
0
 /// <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));
     }
 }
示例#3
0
        /// <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);
            }
        }