Log4j 1.2では、ロガーを取り出して実行時にアペンダを追加するだけで済みます。これは例えばテスト目的で便利でした。私たちはモックアペンダーを作成してロガーに追加しました。その後、我々は異なる主張をすることができた。Log4j2のLoggerにアペンダを追加する方法
log4j2と同等のものは何ですか?
たとえば、exampleは、他の人がどのようにテストアペンダーを追加したかを示しています。
log4j2ページには、アペンダーを追加する方法の例がいくつか示されています。ただし、アペンダーは全体のコンテキストに追加されます。ある特定のロガーのアペンダーを追加するのとは違うようです。
もう一つの観察では、org.apache.logging.log4j.Loggerではなくorg.apache.logging.log4j.core.Loggerを使用しても、アペンダーを追加できます。しかし、ほとんどの人はorg.apache.logging.log4j.Loggerを使用します。実際、LogManagerはorg.apache.logging.log4j.Loggerのインスタンスを返します。だから、私はこれらの2つのクラスをどのように接続するか、それらが全く接続されるべきかどうかはわかりません。
別の観察は、私が
LogManager.getContext().getConfiguration().getLoggers()
を呼び出す場合、私はコンテキスト内のすべてのLoggerConfigオブジェクトのイストを得ることができるということです。続いて、LoggerConfigオブジェクトにアペンダーを追加します。しかし、問題は、org.apache.logging.log4j.Loggerのインスタンスに関連するLoggerConfigを取得するにはどうすればいいですか?
これは私を混乱させます。
ありがとうございました。それがそれでした。 – Klaus
追加するアペンダーのログレベルを設定するにはどうすればよいですか? – JimN