public function unknown() { LogLevel::named('@UNKNOWN@'); }
/** * Configure this logger * * @param util.Properties prop instance of a Properties object */ public function configure($prop) { // Read all other properties $section = $prop->getFirstSection(); do { $this->category[$section] = XPClass::forName($prop->readString($section, 'category', 'util.log.LogCategory'))->newInstance($section, $prop->readInteger($section, 'flags', LogLevel::ALL)); // Configure appenders $appenders = $prop->readArray($section, 'appenders', array()); // Go through all of the appenders, loading classes as necessary foreach ($appenders as $appender) { // Read levels (alternatively, for BC, read "flags" setting) $levels = $prop->readArray($section, 'appender.' . $appender . '.levels'); if (!empty($levels)) { $flags = 0; foreach ($levels as $name) { $flags |= LogLevel::named($name); } } else { $flags = $prop->readArray($section, 'appender.' . $appender . '.flags', LogLevel::ALL); if (!is_int($flags)) { $arrflags = $flags; $flags = 0; foreach ($arrflags as $f) { try { $flags |= LogLevel::named(substr($f, 12)); // 12 = strlen('LOGGER_FLAG_') } catch (IllegalArgumentException $ignore) { // ... } } } } $a = $this->category[$section]->addAppender(XPClass::forName($appender)->newInstance(), $flags); $params = $prop->readArray($section, 'appender.' . $appender . '.params', array()); // Params foreach ($params as $param) { $a->{$param} = strftime($prop->readString($section, 'appender.' . $appender . '.param.' . $param, '')); } // Set context if ('' !== ($contextFQN = $prop->readString($section, 'context'))) { $this->category[$section]->setContext(XPClass::forName($contextFQN)->newInstance()); } } } while ($section = $prop->getNextSection()); }