public static function loadPlugin($name, $type, $suffix, $classname, $args = null) { return \Jelix\Core\App::loadPlugin($name, $type, $suffix, $classname, $args); }
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); } }