Php 日志行格式
我对基于PSR-3标准(以及随它一起提供的接口/类)的日志系统的实现存在问题 我创建了一些扩展PSR-3:logger的类,它使用适配器来执行实际的日志记录(logger类存储适配器实例并在其中调用log()方法),我来到了文件适配器(将日志消息写入文件的适配器),我正在寻找实现自定义日志行格式的方法。我的意思是我可以将消息记录为Php 日志行格式,php,class,logging,psr-3,Php,Class,Logging,Psr 3,我对基于PSR-3标准(以及随它一起提供的接口/类)的日志系统的实现存在问题 我创建了一些扩展PSR-3:logger的类,它使用适配器来执行实际的日志记录(logger类存储适配器实例并在其中调用log()方法),我来到了文件适配器(将日志消息写入文件的适配器),我正在寻找实现自定义日志行格式的方法。我的意思是我可以将消息记录为 [01/01/2013 12:00:00]通知:日志消息内容\n 以及 用户:日志消息内容(通知)~01-01-2013 (填写定制订单和内容) 此外,我还想为此创建
[01/01/2013 12:00:00]通知:日志消息内容\n
以及
用户:日志消息内容(通知)~01-01-2013
(填写定制订单和内容)
此外,我还想为此创建单独的类
有没有什么方法可以用非常能干的方式做到这一点,这样其他人(即使是低技能的PHPER)就不会有改变这一点的问题了?也许这是主流,但你看过了吗 您可以实现
HandlerInterface
,而不是LoggerInterface
。格式化将通过使用您的模式的独白来解决
这个解决方案也更好,因为您可以在Monolog中使用一个记录器和多个处理程序
有一个缺点/优点(由您决定):您必须在处理程序中实现您的级别日志记录,这可能有点难看。无论您如何“获得能力”编写它,人们都会找到一种方法将其搞糟。担心低技能的程序员阅读您的代码是浪费时间。好的,所以我考虑的是元素数组(作为key=>value)和消息格式类似于“[{date}]{level}:{message}\n”。消息字符串将替换“{Message}”标记、日志级别“{level}”标记,其余将是自定义的。此外,对于动态值(如日期),我必须检查该值是否可调用。你认为这是个好主意吗?