Exemple #1
0
 public static function loadPlugin($name, $type, $suffix, $classname, $args = null)
 {
     return \Jelix\Core\App::loadPlugin($name, $type, $suffix, $classname, $args);
 }
Exemple #2
0
 protected static function _log($message, $loggers)
 {
     // let's inject the message in all loggers
     foreach ($loggers as $loggername) {
         if ($loggername == '') {
             continue;
         }
         if ($loggername == 'memory') {
             $confLog =& \Jelix\Core\App::config()->memorylogger;
             $cat = $message->getCategory();
             if (isset($confLog[$cat])) {
                 $max = intval($confLog[$cat]);
             } else {
                 $max = intval($confLog['default']);
             }
             if (!isset(self::$messagesCount[$cat])) {
                 self::$messagesCount[$cat] = 0;
             }
             if (++self::$messagesCount[$cat] > $max) {
                 continue;
             }
             self::$allMessages[] = $message;
             continue;
         }
         if (!isset(self::$loggers[$loggername])) {
             if ($loggername == 'file') {
                 self::$loggers[$loggername] = new Output\File();
             } elseif ($loggername == 'syslog') {
                 self::$loggers[$loggername] = new Output\Syslog();
             } elseif ($loggername == 'mail') {
                 self::$loggers[$loggername] = new Output\Mail();
             } else {
                 $l = \Jelix\Core\App::loadPlugin($loggername, 'logger', '.logger.php', $loggername . 'Logger');
                 if (is_null($l)) {
                     continue;
                 }
                 // yes, silent, because we could be inside an error handler
                 self::$loggers[$loggername] = $l;
             }
         }
         self::$loggers[$loggername]->logMessage($message);
     }
 }