zend-log:将错误发送到 stderr,将其他任何内容发送到 stdout

目前我的记录器是这样设置的:


$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吗?


万千封印
浏览 91回答 1
1回答

杨__羊羊

您可以根据需要添加任意数量的作者,并按优先级过滤它们。// 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);
打开App,查看更多内容
随时随地看视频慕课网APP