function getActiveLogger() { if (defined('LOGGING_CHANNEL')) { if (!Monolog\Registry::hasLogger(LOGGING_CHANNEL)) { $level = defined('LOGGING_LEVEL') ? LOGGING_LEVEL : LOGGING_GLOBAL_LEVEL; if (is_string($level)) { $level = (new \ReflectionClass('Monolog\\Logger'))->getConstant($level); } Monolog\Registry::addLogger(makeLogger(LOGGING_CHANNEL, $level)); } return Monolog\Registry::getInstance(LOGGING_GLOBAL_CHANNEL); } return Monolog\Registry::getInstance(LOGGING_GLOBAL_CHANNEL); }
public function init() { $logger = new Monolog\Logger($this->channel); if (!empty($this->stream_handler_filepath)) { $file_stream = new Monolog\Handler\StreamHandler($this->stream_handler_filepath); if ($this->use_json_formatter) { $stream->setFormatter(new Monolog\Formatter\JsonFormatter()); } $logger->pushHandler($stream); } if (!empty($this->syslog_identity)) { $syslog = new Monolog\Handler\SyslogHandler($this->syslog_identity); if ($this->use_json_formatter) { $syslog->setFormatter(new Monolog\Formatter\JsonFormatter()); } $logger->pushHandler($syslog); } Monolog\Registry::addLogger($logger, 'main'); parent::init(); }
/** * Helper to create named logger and add it to registry. * If handlers or processors not specified, they are taken from 'app' logger. * * This could be useful, say in LDAP Auth Adapter: * * $logger = Logger::createLogger('ldap'); * $logger->error('ldap error') * * @param string $name * @param array $handlers * @param array $processors * @return \Monolog\Logger */ public static function createLogger($name, $handlers = null, $processors = null) { if ($handlers === null) { $handlers = self::getInstance('app')->getHandlers(); } if ($processors === null) { $processors = self::getInstance('app')->getProcessors(); } $logger = new Monolog\Logger($name, $handlers, $processors); Monolog\Registry::addLogger($logger); return $logger; }