public function unknown()
 {
     LogLevel::named('@UNKNOWN@');
 }
Esempio n. 2
0
 /**
  * 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());
 }