Java 如何仅将异常记录到log4j2中的特定记录器?
我有一个Java 如何仅将异常记录到log4j2中的特定记录器?,java,logging,log4j,log4j2,Java,Logging,Log4j,Log4j2,我有一个log4j2配置,可以将所有内容系统输出到控制台,并将一般内容记录到应用程序中。记录文件+将任何异常记录到错误.log文件中 问题:错误记录在应用程序+错误日志文件中 org.apache.logging.log4j.Logger.error(“异常日志”,ex) 以下配置中可能缺少什么 <Configuration> <Appenders> <Console name="CMD" target="SYSTEM_OUT">
log4j2
配置,可以将所有内容系统输出到控制台,并将一般内容记录到应用程序中。记录文件+将任何异常记录到错误.log
文件中
问题:错误记录在应用程序+错误日志文件中
org.apache.logging.log4j.Logger.error(“异常日志”,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>
好的,必须为其组合多个阈值过滤器
:
<RollingFile name="APPLICATION" fileName="application.log">
<Filters>
<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
</RollingFile>