The filter admits two options LevelToMatch and * AcceptOnMatch. If there is an exact match between the value * of the LevelToMatch option and the level of the * {@link LoggerLoggingEvent}, then the {@link decide()} method returns * {@link LOG4PHP_LOGGER_FILTER_ACCEPT} in case the AcceptOnMatch * option value is set to true, if it is false then * {@link LOG4PHP_LOGGER_FILTER_DENY} is returned. If there is no match, * {@link LOG4PHP_LOGGER_FILTER_NEUTRAL} is returned.

* * @author Marco Vassura * @version $Revision: 635069 $ * @package log4php * @subpackage varia * @since 0.6 */ class LoggerLevelMatchFilter extends LoggerFilter { /** * @var boolean */ var $acceptOnMatch = true; /** * @var LoggerLevel */ var $levelToMatch; /** * @return boolean */ function getAcceptOnMatch() { return $this->acceptOnMatch; } /** * @param boolean $acceptOnMatch */ function setAcceptOnMatch($acceptOnMatch) { $this->acceptOnMatch = LoggerOptionConverter::toBoolean($acceptOnMatch, true); } /** * @return LoggerLevel */ function getLevelToMatch() { return $this->levelToMatch; } /** * @param string $l the level to match */ function setLevelToMatch($l) { $this->levelToMatch = LoggerOptionConverter::toLevel($l, null); } /** * Return the decision of this filter. * * Returns {@link LOG4PHP_LOGGER_FILTER_NEUTRAL} if the LevelToMatch * option is not set or if there is not match. Otherwise, if there is a * match, then the returned decision is {@link LOG4PHP_LOGGER_FILTER_ACCEPT} if the * AcceptOnMatch property is set to true. The * returned decision is {@link LOG4PHP_LOGGER_FILTER_DENY} if the * AcceptOnMatch property is set to false. * * @param LoggerLoggingEvent $event * @return integer */ function decide($event) { if($this->levelToMatch === null) return LOG4PHP_LOGGER_FILTER_NEUTRAL; if ($this->levelToMatch->equals($event->getLevel())) { return $this->getAcceptOnMatch() ? LOG4PHP_LOGGER_FILTER_ACCEPT : LOG4PHP_LOGGER_FILTER_DENY; } else { return LOG4PHP_LOGGER_FILTER_NEUTRAL; } } }