/// <summary>
        /// Logs an error log.
        /// </summary>
        /// <param name="severity">The error severity of the log.</param>
        /// <param name="message">The user message.</param>
        /// <param name="ex">The system exception.</param>
        public override void LogError(ErrorSeverity severity, string message, Exception ex)
        {
            try
            {
                if (ErrorIsEnabled)
                {
                    switch (severity)
                    {
                    case ErrorSeverity.Low:
                        if (LowErrorIsEnabled)
                        {
                            EventLog.WriteEntry(Source, LogFormatter.GetLogMessage(message, ex), EventLogEntryType.Error, EventId);
                        }

                        break;

                    case ErrorSeverity.Medium:
                        if (MediumErrorIsEnabled)
                        {
                            EventLog.WriteEntry(Source, LogFormatter.GetLogMessage(message, ex), EventLogEntryType.Error, EventId);
                        }

                        break;

                    case ErrorSeverity.High:
                        if (HighErrorIsEnabled)
                        {
                            EventLog.WriteEntry(Source, LogFormatter.GetLogMessage(message, ex), EventLogEntryType.Error, EventId);
                        }

                        break;

                    case ErrorSeverity.Extreme:
                        if (ExtremeErrorIsEnabled)
                        {
                            EventLog.WriteEntry(Source, LogFormatter.GetLogMessage(message, ex), EventLogEntryType.Error, EventId);
                        }

                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception exception)
            {
                throw new ExensibleLoggerException("Failed to log.", exception);
            }
        }
 /// <summary>
 /// Logs a warn log.
 /// </summary>
 /// <param name="message">The user message.</param>
 public override void LogWarning(string message)
 {
     try
     {
         if (WarningIsEnabled)
         {
             EventLog.WriteEntry(Source, LogFormatter.GetLogMessage(message), EventLogEntryType.Warning, EventId);
         }
     }
     catch (Exception ex)
     {
         throw new ExensibleLoggerException("Failed to log.", ex);
     }
 }