gpt4 book ai didi

php - Monolog FingersCrossedHandler

转载 作者:可可西里 更新时间:2023-11-01 14:04:02 25 4
gpt4 key购买 nike

我正在考虑在我正在开发的应用程序中使用 monolog,但我不确定我是否能够使用 FingersCrosedHandler 实现我需要的功能。

如果添加了 ERROR 或更高级别的消息,我只想记录 DEBUG 级别的消息,但是我希望在日志中看到 INFO 消息。

我试过:

$applicationLog = new Monolog\Logger('App');
$streamHandler = new Monolog\Handler\StreamHandler(LOG_FILE, Monolog\Logger::DEBUG, false);
$fingersCrossedHandler = new Monolog\Handler\FingersCrossedHandler($streamHandler, Monolog\Logger::INFO, 0 , false);
$applicationLog->pushHandler($fingersCrossedHandler);
$applicationLog->addDebug('debug');
$applicationLog->addInfo('info');

但这会将调试和信息级别的消息添加到日志中。

这是否可以使用 FingersCrossedHandler 来实现,还是我需要创建自己的?

最佳答案

这在 Monolog 的 1.11.0 版本中有所改变。现在有一个可选的第 6 个参数,$passThruLevel。此参数是应始终刷新的最低级别日志。在您的情况下,您应该按以下方式设置 FingersCrossed:

use Monolog\Handler\FingersCrossedHandler;

$fingersCrossedHandler = new FingersCrossedHandler(
$streamHandler,
Monolog\Logger::ERROR,
0,
true,
true,
Monolog\Logger::INFO
);

这将导致始终记录 INFO 或更高级别的消息,但是 DEBUG 消息只会在 ERROR 级别或更高级别的消息时显示已记录。

关于php - Monolog FingersCrossedHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13476038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com