加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Monolog FingersCrossedHandler

发布时间:2020-12-13 17:22:02 所属栏目:PHP教程 来源:网络整理
导读:我正在研究在我正在开发的应用程序中使用monolog但是我不确定我是否能够使用FingersCrosedHandler实现我需要的东西. 如果添加了ERROR或更高级别的消息,我只想记录DEBUG级别消息,但是我希望在日志中看到INFO消息. 我试过了: $applicationLog = new MonologL
我正在研究在我正在开发的应用程序中使用monolog但是我不确定我是否能够使用FingersCrosedHandler实现我需要的东西.

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

我试过了:

$applicationLog = new MonologLogger('App');
$streamHandler = new MonologHandlerStreamHandler(LOG_FILE,MonologLogger::DEBUG,false);
$fingersCrossedHandler = new MonologHandlerFingersCrossedHandler($streamHandler,MonologLogger::INFO,false);
$applicationLog->pushHandler($fingersCrossedHandler);
$applicationLog->addDebug('debug');
$applicationLog->addInfo('info');

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

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

提前致谢.

解决方法

这对于FingersCrossedHandler来说是不可能的.您可以轻松扩展它并覆盖handle(),以便它只缓冲调试消息,并让其余的始终通过.问题是,如果你这样做,你会在发生错误时发生无序的消息,除非你缓冲所有内容,最后在调试时将所有内容刷新,如果没有发生错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读