2

どのプログラムでも使用できるカスタム ロガー API を作成したい

MyCustLog.info("some message"); アプリケーションの各クラスでロガーを作成する代わりに。

ロガーは、さまざまなシナリオでログ ファイルを出力できる必要があります。

  1. スレッド名

  2. パッケージ名

  3. ソケット

  4. ログ行が出力されている場所からクラス名を出力する必要があります。

4

1 に答える 1

1

log4j2 RoutingAppender を見てください (FAQ ページに良い例があります)。このアペンダーを使用すると、さまざまなログ ファイルに書き込むことができ、新しいログ ファイルを動的に作成することもできます。

ロギングを行う必要があるクラスでロガーインスタンスを作成しないようにしたい理由はまだわかりません。ロガー インスタンスを静的フィールドにすることは、ロガーがクラスのロード時に 1 回だけ作成され、ガベージ コレクションが行われないことを意味するため、ロガーの作成はパフォーマンスに影響しません。

于 2013-11-09T23:17:46.307 に答える