私は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
は、事前にありがとうございます。
私は通常、log4jの設定にxmlを使用しませんが、logger.infoが印刷されないようにログレベルがErrorに設定されているようです。 – scrappedcola
こんにちは@ scrappedcola、あなたの迅速な対応に感謝します。ルートロガーレベルがTRACEに変更されても、log4jからログ出力が得られません。何かご意見は? – thr3ad