/** * Adds an appender to the pool. * The appender must be named for this operation. * @param LoggerAppender $appender */ public static function add(LoggerAppender $appender) { $name = $appender->getName(); if (empty($name)) { trigger_error('log4php: Cannot add unnamed appender to pool.', E_USER_WARNING); return; } if (isset(self::$appenders[$name])) { trigger_error("log4php: Appender [{$name}] already exists in pool. Overwriting existing appender.", E_USER_WARNING); } self::$appenders[$name] = $appender; }
/** * Checks whether an appender is attached to this logger instance. * * @param LoggerAppender $appender * @return boolean */ public function isAttached(LoggerAppender $appender) { return isset($this->appenders[$appender->getName()]); }
/** * Is the appender passed as parameter attached to this category? * * @param LoggerAppender $appender */ public function isAttached($appender) { return isset($this->aai[$appender->getName()]); }
/** * Is the appender passed as parameter attached to this category? * * @param LoggerAppender $appender */ function isAttached($appender) { return in_array($appender->getName(), array_keys($this->aai)); }
/** * Parses filter config, creates the filter and adds it to the appender's * filter chain. * @param LoggerAppender $appender * @param array $config Filter configuration. */ private function createAppenderFilter(LoggerAppender $appender, $config) { $name = $appender->getName(); $class = $config['class']; if (!class_exists($class)) { $this->warn("Nonexistant filter class [{$class}] specified on appender [{$name}]. Skipping filter definition."); return; } $filter = new $class(); if (!$filter instanceof LoggerFilter) { $this->warn("Invalid filter class [{$class}] sepcified on appender [{$name}]. Skipping filter definition."); return; } if (isset($config['params'])) { $this->setOptions($filter, $config['params']); } $filter->activateOptions(); $appender->addFilter($filter); }