1

マルチスレッド環境 (Web サービス プロバイダー) では、要求ごと (通常はスレッドごと) にデータベースにログ エントリを作成する必要があります。このようなものに使用するアプローチは何ですか?

  • すべてのスレッドに同じロガーを使用し、スレッドごとにアペンダーを作成します。次に、リクエスト/スレッドの最後で、アペンダーを閉じる/削除します。

  • スレッドごとのロガー (スレッドごとに異なるクラス名)。リクエスト/スレッドの最後に、何らかの方法で特定のロガーを解放します

  • 他の?

4

1 に答える 1

1

Apache log4j FAQから:

はい、log4j はスレッドセーフです。Log4j コンポーネントは、高度なマルチスレッド システムで使用するように設計されています。

Marko Topolnik がコメントしているように、ロギング ステートメントを計画するときはマルチスレッドを無視し、log4j に任せてください。

于 2013-07-23T21:02:06.613 に答える