本文整理匯總了PHP中Psr\Log\LoggerInterface::pushProcessor方法的典型用法代碼示例。如果您正苦於以下問題:PHP LoggerInterface::pushProcessor方法的具體用法?PHP LoggerInterface::pushProcessor怎麽用?PHP LoggerInterface::pushProcessor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Psr\Log\LoggerInterface
的用法示例。
在下文中一共展示了LoggerInterface::pushProcessor方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: setUp
/**
* @inheritdoc
*/
public function setUp()
{
$this->handler = new ArrayHandler();
$this->handler->setFormatter(new LineFormatter('%level_name% %message%'));
$this->logger = new Logger('test');
$this->logger->pushHandler($this->handler);
$this->logger->pushProcessor(new ContextReplacementProcessor());
}
示例2: defaultHandlers
protected function defaultHandlers()
{
$path = $path = Alias::getAlias('@runtime/logs');
FileHelper::createDirectory($path);
$paths = [self::DEBUG => "{$path}/debug.log", self::INFO => "{$path}/info.log", self::NOTICE => "{$path}/error.log", self::WARNING => "{$path}/error.log", self::ERROR => "{$path}/error.log", self::CRITICAL => "{$path}/error.log", self::ALERT => "{$path}/error.log", self::EMERGENCY => "{$path}/error.log"];
$formatter = new LineFormatter("[%datetime%]\t%level_name%\t%extra.hash%\t%message%\t%extra.user_id%\t%extra.user_ip%\t%extra.user_agent%\n");
$this->logger->pushProcessor(function ($record) {
$record['extra']['hash'] = substr(md5($record['message']), -6);
$record['extra']['user_agent'] = strip_tags($_SERVER['HTTP_USER_AGENT']);
$record['extra']['user_ip'] = filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP);
$record['extra']['user_id'] = isset($_SESSION['user']['id']) ? $_SESSION['user']['id'] : 'NULL';
return $record;
});
$handlers = [];
foreach ($paths as $level => $path) {
$handlers[$level] = (new StreamHandler($path, $level, false))->setFormatter($formatter);
}
return $handlers;
}