Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
マルチスレッド環境 (Web サービス プロバイダー) では、要求ごと (通常はスレッドごと) にデータベースにログ エントリを作成する必要があります。このようなものに使用するアプローチは何ですか?
すべてのスレッドに同じロガーを使用し、スレッドごとにアペンダーを作成します。次に、リクエスト/スレッドの最後で、アペンダーを閉じる/削除します。
スレッドごとのロガー (スレッドごとに異なるクラス名)。リクエスト/スレッドの最後に、何らかの方法で特定のロガーを解放します
他の?
Apache log4j FAQから:
はい、log4j はスレッドセーフです。Log4j コンポーネントは、高度なマルチスレッド システムで使用するように設計されています。
Marko Topolnik がコメントしているように、ロギング ステートメントを計画するときはマルチスレッドを無視し、log4j に任せてください。