/** * Override level setter to prevent setting the root logger's level to * null. Root logger must always have a level. * * @param LoggerLevel $level */ public function setLevel(LoggerLevel $level = null) { if (isset($level)) { parent::setLevel($level); } else { trigger_error("log4php: Cannot set LoggerRoot level to null.", E_USER_WARNING); } }
/** * Configures a logger. * * @param TPLogger $logger The logger to configure * @param array $config TPLogger configuration options. */ private function configureLogger(TPLogger $logger, $config) { $loggerName = $logger->getName(); // Set logger level if (isset($config['level'])) { $level = LoggerLevel::toLevel($config['level']); if (isset($level)) { $logger->setLevel($level); } else { $this->warn("Invalid level value [{$config['level']}] specified for logger [{$loggerName}]. Ignoring level definition."); } } // Link appenders to logger if (isset($config['appenders'])) { foreach ($config['appenders'] as $appenderName) { if (isset($this->appenders[$appenderName])) { $logger->addAppender($this->appenders[$appenderName]); } else { $this->warn("Nonexistnant appender [{$appenderName}] linked to logger [{$loggerName}]."); } } } // Set logger additivity if (isset($config['additivity'])) { try { $additivity = LoggerOptionConverter::toBooleanEx($config['additivity'], null); $logger->setAdditivity($additivity); } catch (Exception $ex) { $this->warn("Invalid additivity value [{$config['additivity']}] specified for logger [{$loggerName}]. Ignoring additivity setting."); } } }