我们如何编写一个简单的log4j2.xml文件,其中包含不同级别的日志进入不同的文件?
例如,我们有错误日志我需要将所有错误日志消息推送到一个日志文件中,并将所有信息日志消息推送到另一个文件中。
我希望InfoController.log文件中的信息消息和LoginController.log文件中的错误消息
我该怎么做?
答案 0 :(得分:9)
最后通过这样做得到答案我得到了不同文件中的日志。
<Loggers>
<logger name="com.mvc.login" level="info" additivity="false">
<AppenderRef ref="LoginController" level="error"/>
<AppenderRef ref="InfoController" level="info"/>
</logger>
</Loggers>
答案 1 :(得分:1)
记录器必须具有唯一的名称。配置中的第二个记录器将替换第一个记录器,这解释了为什么没有看到第一个记录器引用的appender的任何输出。
通常,配置具有将接收所有事件的根记录器。我建议这样做,以便配置的一部分成为:
<Loggers>
<logger name="com.mvc.login" level="error" additivity="false">
<AppenderRef ref="LoginController"/>
</logger>
<root level="trace">
<AppenderRef ref="InfoController"/>
</root>
</Loggers>
答案 2 :(得分:0)
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="ACCEPT" />
</Filters>
这将仅打印信息日志。如果您指定级别错误,则它将仅打印警告消息等。