/**
  * Logs with an arbitrary level.
  *
  * @param mixed $level
  * @param mixed $message
  * @param mixed[] $context
  * @return null
  */
 public function log($level, $message, array $context = array())
 {
     if (!array_key_exists($level, $this->levels)) {
         $level = $this->defaultLevel;
     }
     $level = \LoggerLevel::toLevel($this->levels[$level], $this->defaultLevel);
     $message = $this->formatter->format($level, $message, $context);
     $this->logger->log($level, $message);
 }
 public function testLevelAll()
 {
     $this->doTestLevel(LoggerLevel::getLevelAll(), LoggerLevel::ALL, 'ALL', 7);
     $this->doTestLevel(LoggerLevel::toLevel(LoggerLevel::ALL), LoggerLevel::ALL, 'ALL', 7);
     $this->doTestLevel(LoggerLevel::toLevel('ALL'), LoggerLevel::ALL, 'ALL', 7);
 }
    }
    // --driver
    if (preg_match('/--dbdriver=(.*)/', $argv[$i], $matches)) {
        $options['core']['dbdriver'] = $matches[1];
    }
    //--ignore-preup
    if (preg_match('/--ignore-preup/', $argv[$i], $matches)) {
        $options['core']['ignore_preup'] = true;
    }
    //--force
    if (preg_match('/--force/', $argv[$i], $matches)) {
        $options['core']['force'] = true;
    }
    // --level
    if (preg_match('/--verbose=(.*)/', $argv[$i], $matches)) {
        $options['core']['verbose'] = LoggerLevel::toLevel($matches[1], 'INFO');
    }
    // --bucket
    if (preg_match('/--bucket=(.*)/', $argv[$i], $matches)) {
        $options['core']['bucket'] = $matches[1];
    }
}
if ($func == 'help') {
    usage();
    exit;
}
if (!isset($options['core']['verbose'])) {
    $options['core']['verbose'] = 'INFO';
}
// Get the DB connexion
// First try the file
 /**
  * Converts a standard or custom priority level to a Level
  * object.
  *
  * <p> If <var>$value</var> is of form "<b>level#full_file_classname</b>",
  * where <i>full_file_classname</i> means the class filename with path
  * but without php extension, then the specified class' <i>toLevel()</i> method
  * is called to process the specified level string; if no '#'
  * character is present, then the default {@link LoggerLevel}
  * class is used to process the level value.</p>
  *
  * <p>As a special case, if the <var>$value</var> parameter is
  * equal to the string "NULL", then the value <i>null</i> will
  * be returned.</p>
  *
  * <p>If any error occurs while converting the value to a level,
  * the <var>$defaultValue</var> parameter, which may be
  * <i>null</i>, is returned.</p>
  *
  * <p>Case of <var>$value</var> is insignificant for the level level, but is
  * significant for the class name part, if present.</p>
  *
  * @param string $value
  * @param LoggerLevel $defaultValue
  * @return LoggerLevel a {@link LoggerLevel} or null
  * @static
  */
 public static function toLevel($value, $defaultValue)
 {
     if ($value === null) {
         return $defaultValue;
     }
     $hashIndex = strpos($value, '#');
     if ($hashIndex === false) {
         if ("NULL" == strtoupper($value)) {
             return null;
         } else {
             // no class name specified : use standard Level class
             return LoggerLevel::toLevel($value, $defaultValue);
         }
     }
     $result = $defaultValue;
     $clazz = substr($value, $hashIndex + 1);
     $levelName = substr($value, 0, $hashIndex);
     // This is degenerate case but you never know.
     if ("NULL" == strtoupper($levelName)) {
         return null;
     }
     $clazz = basename($clazz);
     if (class_exists($clazz)) {
         $result = @call_user_func(array($clazz, 'toLevel'), $levelName, $defaultValue);
         if (!$result instanceof LoggerLevel) {
             $result = $defaultValue;
         }
     }
     return $result;
 }
 private function createEvent($message, $level)
 {
     $eventMock = new LoggerLoggingEvent("LoggerAppenderFirePHPTest", new Logger("TEST"), LoggerLevel::toLevel($level), $message);
     return $eventMock;
 }
 /**
  * Converts a standard or custom priority level to a Level
  * object.
  *
  * <p> If <var>$value</var> is of form "<b>level#full_file_classname</b>",
  * where <i>full_file_classname</i> means the class filename with path
  * but without php extension, then the specified class' <i>toLevel()</i> method
  * is called to process the specified level string; if no '#'
  * character is present, then the default {@link LoggerLevel}
  * class is used to process the level value.</p>
  *
  * <p>As a special case, if the <var>$value</var> parameter is
  * equal to the string "NULL", then the value <i>null</i> will
  * be returned.</p>
  *
  * <p>If any error occurs while converting the value to a level,
  * the <var>$defaultValue</var> parameter, which may be
  * <i>null</i>, is returned.</p>
  *
  * <p>Case of <var>$value</var> is insignificant for the level level, but is
  * significant for the class name part, if present.</p>
  *
  * @param string $value
  * @param LoggerLevel $defaultValue
  * @return LoggerLevel a {@link LoggerLevel} or null
  * @static
  */
 function toLevel($value, $defaultValue)
 {
     if ($value === null) {
         return $defaultValue;
     }
     $hashIndex = strpos($value, '#');
     if ($hashIndex === false) {
         if ("NULL" == strtoupper($value)) {
             return null;
         } else {
             // no class name specified : use standard Level class
             return LoggerLevel::toLevel($value, $defaultValue);
         }
     }
     $result = $defaultValue;
     $clazz = substr($value, $hashIndex + 1);
     $levelName = substr($value, 0, $hashIndex);
     // This is degenerate case but you never know.
     if ("NULL" == strtoupper($levelName)) {
         return null;
     }
     LoggerLog::debug("LoggerOptionConverter::toLevel():class=[{$clazz}]:pri=[{$levelName}]");
     if (!class_exists($clazz)) {
         @(include_once "{$clazz}.php");
     }
     $clazz = basename($clazz);
     if (class_exists($clazz)) {
         $result = @call_user_func(array($clazz, 'toLevel'), $value, $defaultValue);
         if (!is_a($result, 'loggerlevel')) {
             LoggerLog::debug("LoggerOptionConverter::toLevel():class=[{$clazz}] cannot call toLevel(). Returning default.");
             $result = $defaultValue;
         }
     } else {
         LoggerLog::warn("LoggerOptionConverter::toLevel() class '{$clazz}' doesnt exists.");
     }
     return $result;
 }
 /**
  * Convert the string passed as argument to a level. If the
  * conversion fails, then this method returns a DEBUG Level.
  *
  * @param mixed $arg
  * @param LoggerLevel $default
  * @static 
  */
 function &toLevel($arg, $defaultLevel = null)
 {
     if ($defaultLevel === null) {
         return LoggerLevel::toLevel($arg, LoggerLevel::getLevelDebug());
     } else {
         if (is_int($arg)) {
             switch ($arg) {
                 case LOG4PHP_LEVEL_ALL_INT:
                     return LoggerLevel::getLevelAll();
                 case LOG4PHP_LEVEL_DEBUG_INT:
                     return LoggerLevel::getLevelDebug();
                 case LOG4PHP_LEVEL_INFO_INT:
                     return LoggerLevel::getLevelInfo();
                 case LOG4PHP_LEVEL_WARN_INT:
                     return LoggerLevel::getLevelWarn();
                 case LOG4PHP_LEVEL_ERROR_INT:
                     return LoggerLevel::getLevelError();
                 case LOG4PHP_LEVEL_FATAL_INT:
                     return LoggerLevel::getLevelFatal();
                 case LOG4PHP_LEVEL_OFF_INT:
                     return LoggerLevel::getLevelOff();
                 default:
                     return $defaultLevel;
             }
         } else {
             switch (strtoupper($arg)) {
                 case 'ALL':
                     return LoggerLevel::getLevelAll();
                 case 'DEBUG':
                     return LoggerLevel::getLevelDebug();
                 case 'INFO':
                     return LoggerLevel::getLevelInfo();
                 case 'WARN':
                     return LoggerLevel::getLevelWarn();
                 case 'ERROR':
                     return LoggerLevel::getLevelError();
                 case 'FATAL':
                     return LoggerLevel::getLevelFatal();
                 case 'OFF':
                     return LoggerLevel::getLevelOff();
                 default:
                     return $defaultLevel;
             }
         }
     }
 }
 /**
  * Configures a logger. 
  * 
  * @param Logger $logger The logger to configure
  * @param array $config Logger configuration options.
  */
 private function configureLogger(Logger $logger, $config)
 {
     $loggerName = $logger->getName();
     // Set logger level
     if (isset($config['level'])) {
         $level = LoggerLevel::toLevel($config['level']);
         if (isset($level)) {
             $logger->setLevel($level);
         } else {
             $default = $logger->getLevel();
             $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'])) {
         $additivity = LoggerOptionConverter::toBoolean($config['additivity'], null);
         if (is_bool($additivity)) {
             $logger->setAdditivity($additivity);
         } else {
             $this->warn("Invalid additivity value [{$config['additivity']}] specified for logger [{$loggerName}]. Ignoring additivity setting.");
         }
     }
 }
 /** Converts the value to a level. Throws an exception if not possible. */
 public static function toLevelEx($value)
 {
     if ($value instanceof LoggerLevel) {
         return $value;
     }
     $level = LoggerLevel::toLevel($value);
     if ($level === null) {
         throw new LoggerException("Given value [" . var_export($value, true) . "] cannot be converted to a logger level.");
     }
     return $level;
 }
Beispiel #10
0
<?php

require_once BASE_PATH . "/lib/log/log4php/Logger.php";
$log = Logger::getRootLogger();
$log->setLevel(LoggerLevel::toLevel(AE_LOG_LEVEL));
$appender = new LoggerAppenderRollingFile("MyAppender");
$appender->setFile(BASE_PATH . "/log/tephlon.log", true);
$appender->setMaxBackupIndex(10);
$appender->setMaxFileSize("10MB");
$appenderlayout = new LoggerLayoutPattern();
$pattern = '%d{d.m.Y H.i.s:u} [%p] %t: %m (at %M)%n';
//$pattern = '%d{d.m.Y H.i.s:u} [%p] %m %n';
$appenderlayout->setConversionPattern($pattern);
$appender->setLayout($appenderlayout);
$appender->activateOptions();
$log->removeAllAppenders();
$log->addAppender($appender);
$log->info(" *** Engine initializing ***");
function getLogger()
{
    global $log;
    return $log;
}
function initLogger()
{
    $loggerName = "log";
    // Iterate over all declared classes
    $classes = get_declared_classes();
    foreach ($classes as $class) {
        $reflection = new ReflectionClass($class);
        // If the class is internally defined by PHP or has no property called "logger", skip it.