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 で行をフォーマットする方法はありますか?