public bool SetFilterLogLevel(LogLevel level) { if (level != null && level != LogLevel.Verbose) // no need to filter on verbose { if (m_levelFilter == null) { m_levelFilter = new ConsoleViewLogLevelFilter(level); bool shouldAppend = this.HasFilters; // not the first filter AddFilter(m_levelFilter); return shouldAppend ? AppendFilter(m_levelFilter) : ApplyFilter(m_levelFilter); } LogLevel oldLevel = m_levelFilter.Level; m_levelFilter.Level = level; if (oldLevel.Priority < level.Priority) // can only decrease filtered items count: e.g. 'debug' -> 'error' { return AppendFilter(m_levelFilter); } if (oldLevel.Priority > level.Priority) // can increase filtered items count: e.g. 'error' -> 'debug' { return ApplyFilter(this); } } else if (m_levelFilter != null) // remove existing filter { RemoveFilter(m_levelFilter); m_levelFilter = null; return ApplyFilter(this); } return false; }
public bool SetFilterLogLevel(LogLevel level) { if (level != null && level != LogLevel.Verbose) // no need to filter on verbose { if (m_levelFilter == null) { m_levelFilter = new ConsoleViewLogLevelFilter(level); bool shouldAppend = this.HasFilters; // not the first filter AddFilter(m_levelFilter); return(shouldAppend ? AppendFilter(m_levelFilter) : ApplyFilter(m_levelFilter)); } LogLevel oldLevel = m_levelFilter.Level; m_levelFilter.Level = level; if (oldLevel.Priority < level.Priority) // can only decrease filtered items count: e.g. 'debug' -> 'error' { return(AppendFilter(m_levelFilter)); } if (oldLevel.Priority > level.Priority) // can increase filtered items count: e.g. 'error' -> 'debug' { return(ApplyFilter(this)); } } else if (m_levelFilter != null) // remove existing filter { RemoveFilter(m_levelFilter); m_levelFilter = null; return(ApplyFilter(this)); } return(false); }