2016-06-23 10 views
0

自家製のロギングフレームワーク(90年代)からlog4jに移行する予定で、既存のログと一致するようにパターンを設定するのに問題があります。log4jパターン最後のログからの時間の長さ

前のログ行からの時刻を各ログ行とともに出力します。これはしばしば、計算を行わずに遅延が顧客システム内のどこにあるかを判断するのに役立ちます。まったく新しいレイアウトを書かずにこれを行う方法はわかりません。

これはPatternLayoutで行うことができますか?

答えて

0

これはlog4jではサポートされていません。私はそれがパフォーマンスだと仮定します.log4jは非常に高いスループットを持ち、このような機能は大きなスケーラビリティ低下を引き起こします。

しかし、あなたはまだ生成されたログを処理することでこれを達成することができます。おそらく弾性ベースまたはデータベースベースのアペンダーが優れています。

+0

完全に正確でなければならないのであれば、パフォーマンスヒットになるでしょうか?フレームワークはすでに現在の時間を読み取る必要があります。これは、そこに1つの長いデータが格納されている必要があります。 – mjaggard

+0

@mjaggard:問題は、メッセージが正しい順序でフォーマットされなければならず、同じ時間デルタが達成されるということです。言い換えれば、単一のCPU上で同期する必要があるかどうかは、スケーラビリティに影響します。 –

+0

ミリ秒の精度が問題になる場合にも、これは問題ありません。そうしないと、データは最終的に正しいものになります。この場合、プロセッサキャッシュラインがメインメモリに書き戻されるとすぐにデータが生成されるため、非常に高速になります。 – mjaggard

関連する問題