我在eclipse中配置了log4j2.xml,所有日志都正确写入文件。 当我将maven项目导出为jar并从命令promt运行时,日志将显示在控制台上,而不是写入文件。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="file_all" fileName="C:/log/logsALL.log" immediateFlush="true" append="true">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="ERROR">
<AppenderRef ref="file_all"/>
</Root>
<Logger name="com.api.main" level="INFO">
<AppenderRef ref="file_all"/>
</Logger>
</Loggers>
</Configuration>
答案 0 :(得分:0)
当log4j启动时,它会在控制台上显示内部日志记录(因为配置中的status = trace)。 此内部日志应显示正在使用的配置文件的位置。仔细检查这是否是正确的位置:我怀疑正在加载旧的配置文件,并记录到控制台...