Exemple #1
0
        /// <summary>
        /// Inspects the log level of the event data and triggers the corresponding event if there is a listener.
        /// </summary>
        /// <param name="e">The <see cref="LogEventArgs"/> instance containing the event data.</param>
        internal static void RaiseException(LogEventArgs e)
        {
            if (MuteMessages)
            {
                return;
            }

            if (e != null)
            {
                switch (e.LogLevel)
                {
                case LogLevelType.Verbose:
                    OnVerboseMessage?.Invoke(e);

                    break;

                case LogLevelType.Debug:
                    OnDebugMessage?.Invoke(e);

                    break;

                case LogLevelType.Info:
                    OnInfoMessage?.Invoke(e);

                    break;

                case LogLevelType.Warn:
                    OnWarnMessage?.Invoke(e);

                    break;

                case LogLevelType.Error:
                    OnErrorMessage?.Invoke(e);

                    break;

                case LogLevelType.Fatal:
                    OnFatalMessage?.Invoke(e);

                    break;
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Clears the listeners that may be attached to the events. Typically used for testing.
        /// </summary>
        public static void ClearListeners()
        {
            try
            {
                if (OnDebugMessage != null)
                {
                    foreach (Delegate invoker in OnDebugMessage.GetInvocationList())
                    {
                        OnDebugMessage -= (LogEventHandler)invoker;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }

            try
            {
                if (OnErrorMessage != null)
                {
                    foreach (Delegate invoker in OnErrorMessage.GetInvocationList())
                    {
                        OnErrorMessage -= (LogEventHandler)invoker;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }

            try
            {
                if (OnFatalMessage != null)
                {
                    foreach (Delegate invoker in OnFatalMessage.GetInvocationList())
                    {
                        OnFatalMessage -= (LogEventHandler)invoker;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }

            try
            {
                if (OnInfoMessage != null)
                {
                    foreach (Delegate invoker in OnInfoMessage.GetInvocationList())
                    {
                        OnInfoMessage -= (LogEventHandler)invoker;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }

            try
            {
                if (OnVerboseMessage != null)
                {
                    foreach (Delegate invoker in OnVerboseMessage.GetInvocationList())
                    {
                        OnVerboseMessage -= (LogEventHandler)invoker;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }

            try
            {
                if (OnWarnMessage != null)
                {
                    foreach (Delegate invoker in OnWarnMessage.GetInvocationList())
                    {
                        OnWarnMessage -= (LogEventHandler)invoker;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }
        }