log4j2 xml配置-登录到文件和控制台(具有不同级别) [英] log4j2 xml configuration - Log to file and console (with different levels)
本文介绍了log4j2 xml配置-登录到文件和控制台(具有不同级别)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想做两件事:
- 以特定的日志级别登录控制台
- 使用另一个日志级别登录到文件
控制台日志记录似乎工作正常,但日志文件却一直空着.
Console logging seems to work just fine but the log file keeps beeing empty.
这是我的log4j2.xml
This is my log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="MyFile" fileName="logs/app.log" immediateFlush="true">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</appenders>
<loggers>
<logger name="filelogger" level="error">
<appender-ref ref="MyFile"/>
</logger>
<root level="info">
<appender-ref ref="Console"/>
</root>
</loggers>
</configuration>
怎么了?
推荐答案
我知道了!在这种情况下,不应使用<Logger>
标记,有关详细信息,请参见Gaurang Patel的答案.
I figured it out! The <Logger>
tag shouldn't be used in this case, see Gaurang Patel's answer for details.
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="MyFile" fileName="logs/app.log">
<PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</appenders>
<loggers>
<root level="debug">
<appender-ref ref="Console" level="info"/>
<appender-ref ref="MyFile" level="error"/>
</root>
</loggers>
</configuration>
这篇关于log4j2 xml配置-登录到文件和控制台(具有不同级别)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文