コンシューマーからの複数のリクエストを同時に処理する weblogic バッチ アプリケーションがあります。ロギングの目的には log4j を使用します。現在、複数のリクエストに対して 1 つのログ ファイルにログインしています。すべてのリクエストのログが 1 つのファイルにあるため、特定のリクエストの問題をデバッグするのは面倒です。
そのため、リクエストごとに 1 つのログ ファイルを作成する予定です。コンシューマーは、処理を実行する必要があるリクエスト ID を送信します。実際には、リクエスト ID をアプリケーションに送信する複数のコンシューマーが存在する可能性があります。問題は、リクエストに基づいてログ ファイルを分離する方法です。
本番サーバーを毎回起動および停止することはできないため、日時スタンプまたはリクエスト ID でオーバーライドされたファイル アペンダーを使用するポイントは除外されます。これについては、以下の記事で説明されています: http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/
私はまた、これらの代替手段で遊んでみました:
http://cognitivecache.blogspot.com/2008/08/log4j-writing-to-dynamic-log-file-for.html
http://www.mail-archive.com/log4j-user@logging.apache.org/msg05099.html
このアプローチでは望ましい結果が得られますが、複数のリクエストが同時に送信されると正しく機能しません。いくつかの並行性の問題により、ログがあちこちに移動します。
皆さんからの助けを期待しています。前もって感謝します....