1
Log4j 2のXMLファイルを作成して、3種類のログファイル(info、debug、error)を作成しました。 私のXMLは次のようになります。log4jのログのレベルが異なる2正しいログが表示されない
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="30" status="DEBUG">
<Appenders>
<File name="errorFile" fileName="D:/logger/error.log" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="debugFile" fileName="D:/logger/debug.log" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="infoFile" fileName="D:/logger/info.log" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<logger name="com.vt.logger" level="info" additivity="false">
<AppenderRef ref="errorFile" level="ERROR"/>
<AppenderRef ref="debugFile" level="DEBUG"/>
<AppenderRef ref="infoFile" level="INFO"/>
</logger>
</Loggers>
</Configuration>
と私のメインプログラム:
public class LoggerLevelTest {
private final static Logger log = LogManager.getLogger(LoggerLevelTest.class);
public static void main(String[] args) {
log.info("This is info log");
log.debug("This is debug log");
log.error("This is error log");
}
}
私の質問: プログラムは、ERRORレベルのログが、デバッグが含まれているERROR.LOGした3つの別々のファイルを作成します。 logとinfo.logには、ERRORとINFOレベルのログが含まれます。
なぜdebug.logファイルとinfo.logファイルにERRORとINFOログが記録されるのですか?