public static bool EventsBelowCertainLevel(LogEvent logEvent, LoggerSourceContextLevelOverrides globalSwitches)
        {
            (LogEventLevel defaultLevel, System.Collections.Generic.KeyValuePair <System.Func <LogEvent, bool>, LogEventLevel>[] matchers) = globalSwitches.Current;

            for (int i = 0; i < matchers.Length; i++)
            {
                System.Collections.Generic.KeyValuePair <System.Func <LogEvent, bool>, LogEventLevel> filter = matchers[i];
                if (filter.Key(logEvent))
                {
                    return(logEvent.Level < filter.Value);
                }
            }

            return(logEvent.Level < defaultLevel);
        }