Php 如果超过最大行长,则拆分独白日志消息

Php 如果超过最大行长,则拆分独白日志消息,php,monolog,Php,Monolog,我正在使用将日志消息推送到最大消息长度限制为1024个字符的处理程序 我正在寻找截获日志消息的最佳方法,如果超过1024个字符,则将其拆分为两个(或更多) 我可以构建一个格式化程序,只需将消息剪切为1024个字符,但我希望保留信息 下一个想法是使用处理器,但它只是接收有问题的记录,无法注入另一条记录 因此,我想正确的方法应该是构建一个自定义处理程序,例如,messagelengththimithandler,在该处理程序中,我可以包装最终接收消息的真正处理程序 我尝试过查看其他处理程序,似乎我只

我正在使用将日志消息推送到最大消息长度限制为1024个字符的
处理程序

我正在寻找截获日志消息的最佳方法,如果超过1024个字符,则将其拆分为两个(或更多)

我可以构建一个
格式化程序
,只需将消息剪切为1024个字符,但我希望保留信息

下一个想法是使用
处理器
,但它只是接收有问题的记录,无法注入另一条记录

因此,我想正确的方法应该是构建一个自定义处理程序,例如,
messagelengththimithandler
,在该处理程序中,我可以包装最终接收消息的真正处理程序

我尝试过查看其他处理程序,似乎我只需要实现
handle()
函数,rest可以从中继承。 但是,我有点不确定将一个
$record
拆分为两个的正确方法是什么-有什么建议吗


一旦我将它们拆分,我就可以简单地对每个记录使用
$this->handle->handle($record)
(或者通过将数组传递给
handleBatch()

将它们传递给我的大脑:定制处理程序可能是个好主意。如果查看
StreamHandler
它实现了
AbstractProcessingHandler
,它提供了一个函数
write()
。也许你可以从你自己的类中扩展它并重写它。@Debflav是的,我知道这一点(即使我相信在这种情况下,
AbstractHandler
可能就足够了),但我真正的问题是如何以最佳方式将一条$record拆分为两条?