目前,我的记录器设置如下:
$logger = new Zend\Log\Logger();
$logger->addWriter(new Zend\Log\Writer\Stream('php://stdout'));缺点:$logger->err()和$logger->info()现在都打印到stdout。但是,我希望前者打印到stderr?我能为某些作者指定优先级吗?所以,任何<= Zend\Log\Logger::ERR都会在stderr中结束,而在stdout中还有其他东西。
发布于 2019-11-27 15:13:01
您可以添加任意数量的作者,并按其优先级对其进行筛选。
// Add ERROR writer
$logger = new Logger();
$errorWriter = new Stream('php://stdout');
// Filter logs only for ERROR priority
$errorWriter->addFilter(new Priority(Logger::ERR, '='));
$logger->addWriter($errorWriter);
// Add INFO writer
$infoWriter = new Stream('php://stderr');
// Filter logs only for INFO priority
$infoWriter->addFilter(new Priority(Logger::INFO, '='));
$logger->addWriter($infoWriter);您可以在文档中找到更多信息:
https://stackoverflow.com/questions/59069747
复制相似问题