0

SiftingAppenerと、ログイベントを個々のログファイルに分離する機能を知っています。

代わりに、SiftingAppenderはユーザーセッションに応じてログイベントを分離できるため、すべてのユーザーによって生成されたログは1つのSQL挿入ステートメントに入れられます(1つのファイルを持つFileAppenderと同様)

これを達成する方法についてのアイデアや提案はありますか?

番号に注意してください

前:

    TimeStamp       Formatted   Message     Logger_Name         Level_String
1   1321325688174   Step 2:     Then stop   com.test.Account    INFO
2   1321325687931   Step 1:     The force   com.test.Account    INFO

後:

    TimeStamp       Formatted   Message     Logger_Name         Level_String
1   1321325688174   Step 2:     Then stop   com.test.Account    INFO
    1321325687931   Step 1:     The force   com.test.Account    INFO

ありがとう。

4

1 に答える 1

0

これを行う既存のアペンダーは知りませんが、自分で行うのはそれほど難しくないようです。AppenderBaseを拡張する独自のアペンダー クラスを実装し、それを使用するように SiftingAppender を構成する必要があります。

新しい CachingSqlAppender (またはそれを呼び出すもの) の内部では、アペンダー内のすべての要求の一時的なキャッシュを処理し、事前に決められた間隔でそれらをすべて書き出す必要があります。

ただし、挿入を行う前にアペンダーが別のイベントを待機する時間を把握する必要があり、少なくとも SiftingAppender の寿命よりも短くする必要があるため、タイミングを正しくするのは難しいかもしれません。作成するアペンダーを提供します。

于 2012-02-02T21:47:44.843 に答える