public void SetLogEntryLevel(LogLevel logLevel, LogEntryLevel logEntryLevel, string context)
        {
            switch (logLevel)
            {
            case LogLevel.Application:
                throw new InvalidOperationException("Use SetLogEntryLevel(LogLevel, LogEntryLevel) instead");

            case LogLevel.Session:
                SetLogEntryLevel(_sessionLogSwitches, logEntryLevel.ToLogEventLevel(), context);
                break;

            case LogLevel.User:
                SetLogEntryLevel(_userLogSwitches, logEntryLevel.ToLogEventLevel(), context);
                break;

            default:
                throw new ArgumentOutOfRangeException("logLevel");
            }
        }
        public void SetLogEntryLevel(LogLevel logLevel, LogEntryLevel logEntryLevel)
        {
            switch (logLevel)
            {
            case LogLevel.Application:
                _applicationSwitch.MinimumLevel = logEntryLevel.ToLogEventLevel();
                break;

            case LogLevel.Session:
                throw new InvalidOperationException("Use SetLogEntryLevel(LogLevel, LogEntryLevel, String) instead");

            case LogLevel.User:
                throw new InvalidOperationException("Use SetLogEntryLevel(LogLevel, LogEntryLevel, String) instead");

            default:
                throw new ArgumentOutOfRangeException("logLevel");
            }
        }