JBoss で実行される Java EE Web アプリケーションを開発しています。
次のことをしたい: ユーザーが http 要求を送信すると (ページを開くか、AJAX を介して)、この要求に関連するすべてのログが収集され、データベースに保存されます。関連とは、現在のリクエストを処理するプロセス中にログに記録されていることを意味します。最も難しいのは、単一のリクエストに関連するログを収集することです。
私はこの解決策を調べていました:
JBoss はロギングに log4j を使用します。アプリが起動すると、開始リスナーは、すべてのログを ThreadLocal フィールドに収集する log4j アペンダーを登録します。リクエスト処理の最後に、フィールドからログが取得され、DB に保存されます。
しかし、今では、log4j アペンダーが他のスレッドで動作するようです。これにより、このソリューションは不可能になります。
どうやってこれを作ることができるか、何か考えがありますか?
ありがとう、アルテム B.