This framework is based on log4j (see {@link http://jakarta.apache.org/log4j log4j} for details).

*

Design, strategies and part of the methods documentation are developed by log4j team * (Ceki Gülcü as log4j project founder and * {@link http://jakarta.apache.org/log4j/docs/contributors.html contributors}).

* *

PHP port, extensions and modifications by VxR. All rights reserved.
* For more information, please see {@link http://www.vxr.it/log4php/}.

* *

This software is published under the terms of the LGPL License * a copy of which has been included with this distribution in the LICENSE file.

* * @package log4php * @subpackage varia */ /** * @ignore */ if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..'); /** */ require_once(LOG4PHP_DIR . '/spi/LoggerFilter.php'); require_once(LOG4PHP_DIR . '/LoggerLevel.php'); require_once(LOG4PHP_DIR . '/helpers/LoggerOptionConverter.php'); /** * This is a very simple filter based on level matching. * *

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 VxR * @version $Revision: 1.1 $ * @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; } } } ?>