2017-12-05 7 views
1

私はmavenプロジェクトを作成しました。src -> test -> javaの下に、私はパッケージlearnlog4jを作成しました。そのパッケージの下で、私はテストクラスを持っていました。'Log4jシステムを正しく初期化する'エラーを解決するにはどうすればよいですか?

私は内容を以下しているプロジェクトのルートの下log4j.propertiesを作成しました - それはエラーになります

log4j.rootLogger=INFO, stdout 

log4j.appender.stdout = org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss:SSS} %p [%C{1}] %m%n 

をしかし、私は、次のテストクラスを実行すると、

public class Log4jExample1 { 
    final static Logger logger = Logger.getLogger(Log4jExample1.class); 

    @BeforeClass 
    public void beforeClass(){ 
     logger.info("IN Before Class"); 
    } 

    @Test 
    public void test1(){ 
     logger.info("IN Test"); 
    } 

    @AfterClass 
    public void afterClass(){ 
     logger.info("IN After Class"); 
    } 
} 

-

log4j:WARN No appenders could be found for logger (learnlog4j.Log4jExample1). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

私はstackoverflowで検索しましたが、それは役に立ちませんでした。 log4j.propertiesが正しい場所にあるかどうか教えてください。または、修正する必要のあるものがあれば教えてください。基本的なコンソールアダプタを取得する方法 -

答えて

1

あなたキャンはbeforeClassで

BasicConfigurator.configure(); 

()を追加します。

あなたのlog4j.propertiesを使用するには、

PropertyConfigurator.configure("log4j.properties"); 

を使用する詳細についてはNo appenders could be found for logger(log4j)?を参照してください。

+0

これは 'log4j.properties'ファイルからの情報を読み込みません。デフォルト設定ごとにログを記録します。 – TDHM

+0

はい、あなたは正しいです。ごめんなさい。私はあなたのlog4j.propertiesがコンソールアダプタを設定しているという事実に惑わされました。私は上記の私の答えを更新しました。 – ma501

関連する問題