2016-09-25 15 views
1


私はlog4j2を初めて使用しています。私はそれを試してEclipseで非常に単純なJavaプロジェクトを作成しました。log4j2はコンソールとファイルの両方に書き込まない

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN" > 
    <Properties> 
    <Property name="test">test</Property> 
    </Properties> 
    <ThresholdFilter/> 
    <Appenders> 
    <Console name="STDOUT" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{dd MM yyyy HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    <File name="LogFile" fileName="test.log"> 
     <PatternLayout> 
     <Pattern>%t %-5p %c{2} - %m%n</Pattern> 
     </PatternLayout> 
    </File> 
    </Appenders> 

    <Loggers> 
    <Root level="ERROR"> 
     <AppenderRef ref="STDOUT" /> 
    </Root> 
    <Logger name="tutorial" level="TRACE"> 
     <Appender-Ref ref="STDOUT" /> 
     <Appender-Ref ref="LogFile" /> 
    </Logger> 
    </Loggers> 
</Configuration> 

Test.java

package tutorial; 

public class Test { 
    private static final Logger logger = LogManager.getLogger(Test.class); 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     System.out.println(logger.getName()); 
     logger.info("*****Testing*****"); 
     logger.log(Level.WARN, "*****Testing*****"); 
    } 
} 

Test.java

tutorial.Test 

を実行した結果、コンソールとログ内のすべての両方でのlog4jからのログはありませんでしたファイル。ログファイルtest.logが作成されますが、そこには注意があります。専門知識を持つ人が謎を解読するのに役立つことができますか?

JDK:jdk1.8.0_92
log4j2:2.6.2

は、事前にありがとうございます。

+0

私は通常、log4jの設定にxmlを使用しませんが、logger.infoが印刷されないようにログレベルがErrorに設定されているようです。 – scrappedcola

+0

こんにちは@ scrappedcola、あなたの迅速な対応に感謝します。ルートロガーレベルがTRACEに変更されても、log4jからログ出力が得られません。何かご意見は? – thr3ad

答えて

1

しきい値フィルタlog4jログの原因が表示されません。

必須でない場合は、以下の行を削除してみることができます。

<ThresholdFilter/> 
+0

ありがとう@Nikunj Shekhada。どういうわけか、私はそのタグを忘れて、私の髪を引っ張っていた.. – thr3ad

関連する問題