如果超过最大行长度,则拆分Monolog日志消息

时间:2015-02-11 09:02:49

标签: php monolog

我使用Monolog将日志消息推送到最大邮件长度限制为1024个字符的Handler

我正在寻找拦截我的日志消息的最佳方法,如果超过1024个字符将它们分成两个(或更多)。

我可以构建一个Formatter来简单地将消息剪切为1024个字符,但我想保留这些信息。

接下来的想法是使用Processor,但它只是收到有问题的记录,而且无法注入另一条记录。

所以我想正确的方法是建立一个自定义处理程序,例如MessageLengthLimitHandler,我可以在其中包裹真正的处理程序,最后接收我的消息。

我已经尝试过查看其他处理程序,似乎我需要实现的是handle()函数,其余部分可以从AbstractHandler继承。 但是,我有点不确定将一个$record分成两个的正确方法是什么 - 任何建议?

只要我将它们拆分,我就可以使用$this->handler->handle($record)为每条记录传递它们(或者将数组传递给handleBatch()

0 个答案:

没有答案