使用log4perl时,我使用的调试日志布局是:
log4perl.appender.D10.layout=PatternLayout
log4perl.appender.D10.layout.ConversionPattern=%d [pid=%P] %p %F{1} (%L) %M %m%n
log4perl.appender.D10.Filter = DebugAndUp
这会产生非常详细的调试日志,例如:
2008/11/26 11:57:28 [pid=25485] DEBUG SomeModule.pm (331) functions::SomeModule::Test Test XXX was successfull
2008/11/26 11:57:29 [pid=25485] ERROR SomeOtherUnrelatedModule.pm (99999) functions::SomeModule::AnotherTest AnotherTest YYY has faled
这很好用,并提供了出色的调试数据。
但是,调试日志的每一行都包含不同的函数名称、pid 长度等。这使得每一行的布局不同,并且使得阅读调试日志比需要的要困难得多。
log4perl 中是否有办法格式化该行,以便调试元数据(直到实际日志消息的所有内容)在末尾用空格/制表符填充,并让实际消息从同一列文本开始?