これは非常に単純な例ですが、何らかの理由で機能していません。明らかな何かが欠けているに違いありません。
非常に単純な log4j 2.0 サンプル プログラムを作成しようとしています。これらの 2 つの jar をクラスパスに追加しました。
log4j-api-2.0-beta8.jar
log4j-core-2.0-beta8.jar
そして、デフォルト設定を使用して、可能な限り単純な例を実行しました:
package testlog;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class TestLog {
static Logger logger = LogManager.getLogger(TestLog.class.getName());
public static void main(String[] args) {
logger.trace("Hello World");
System.out.println("Test over");
}
}
しかし、何らかの理由で、「テストオーバー」しか得られず、Hello World を取得することはできません。とにかく見つけることができます。私は間違った場所を探していますか?デフォルトの構成では、「テストオーバー」でコンソールに出力する必要があると私は理解しています。ログレベルを情報に変更しましたが、同じです。Logger 機能をクラスに引き出そうとしましたが、それでも同じです。log4j ドキュメント ページのこのチュートリアルに従っています。
http://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration
何が間違っているのか理解できません。誰かが私が間違ったことに光を当てることができますか? 前もって感謝します。
更新ロガーは logger.error() で動作します。これは、デフォルトのフィルター/レベルに問題があることを意味しますか?