4

Spring Batchを使用する場合の正しいロギングアプローチは何ですか? log4j (または同様のもの) を使用する必要がありますか? それとも、Spring Batch は、ロガーをインスタンス化して使用するのに役立ついくつかの手段を提供しますか? おそらく、ロガーのある種の依存性注入ですか?

4

3 に答える 3

3

元の投稿者の質問に答えたかわからないので、これを少し言い換えてみます。Spring Batch では、複数のスレッドが進行している可能性があり、特定のジョブのすべてのイベントが単一のログ ファイルに記録されるように、ジョブ固有のログが必要になる場合があります。スコープが処理中のジョブに直接関連付けられているロガーが必要です。ジョブが終了すると、ロガー (およびロガーへのすべての参照) が消えます。

したがって、Job#1を送信すると、すべてのイベントが"job_1.log"に記録されます。Job#2を送信すると、そのイベントは"job_2.log"などに記録されます。

log4j では、「Logger.getLogger('mylogger')」を実行すると、LogManager にキャッシュから「mylogger」を取得して渡すように指示ます。本当に必要なのは、mylogger の構成を使用して構成されたロガーの新しいインスタンスです。Spring では、これは通常、プロトタイプ Bean で行うことができます。「mylogger」のコンテキストを要求するたびに、新しいインスタンスが取得されます。

于 2014-03-18T21:43:05.880 に答える
3

私はlog4jを使用していました。そしてそのシンプルで素敵なアプローチ。

于 2011-05-19T18:48:28.110 に答える