私はレガシーロギングクラスを持っています。静的ロガー参照 (logger という名前) と一連の静的メソッドがあります。
各メソッドは String 入力を受け取り、それを System.out.println に書き込み、logger が null でない場合は logger に書き込みます。
ロガーを初期化するコンストラクターを取得しました。しかし、このコンストラクターにはパッケージ スコープしかなく、どこにも呼び出されていないと確信しています。したがって、logger は常に null であり、クラスは基本的に System.out.println のみを実行します。
これを変更して、各スレッドが独自の FileAppender に書き込むマルチスレッド アプリケーションで使用できるようにします。
そして、それが私が立ち往生しているところです。
基本的に、私がやりたいことは、この静的クラスをさまざまな log4j FileAppenders に関連付けることです。各 FileAppender は Thread によって作成でき、ファイル名は Thread が認識している一意の情報から導出できます。
どうすればよいかわかりませんが、魔法のように Log4j を使用して、そのスレッドの一意の FileAppender をこのレガシー ロギング クラスに伝達することです。
アイデア?ヒント?提案?
マーク