[英]How to log exceptions only to a specific logger in log4j2?
我有一个log4j2
配置,可以对所有内容进行Sysout控制台+将常规内容记录到application.log
文件中+将所有异常记录到error.log
文件中。
问题:在应用程序和错误日志文件中都记录了错误。
org.apache.logging.log4j.Logger.error("Exception log", ex);
以下配置中可能缺少什么?
<Configuration>
<Appenders>
<Console name="CMD" target="SYSTEM_OUT">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
</Console>
<RollingFile name="APPLICATION" fileName="application.log">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
</RollingFile>
<RollingFile name="ERR" fileName="error.log">
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="all">
<AppenderRef ref="CMD" />
<AppenderRef ref="APPLICATION" />
<AppenderRef ref="ERR" />
</Root>
</Loggers>
</Configuration>
好的,必须为其组合多个ThresholdFilters
:
<RollingFile name="APPLICATION" fileName="application.log">
<Filters>
<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
</RollingFile>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.