背景
在項目中,可能會產生非常多的日志記錄,為了方便日志分析,可以將日志按級別輸出到指定文件。
log4j2.xml配置文件
<!--將info級別的日志單獨輸出到info.log中--> <RollingFile name="INFO-LOG" fileName="info.log"> <Filters> <!--將WARN及其以上級別的日志給DENY掉--> <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/> <!--ACCEPT info級別的日志--> <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> </RollingFile> <!--將warn級別的日志單獨輸出到warn.log中--> <RollingFile name="WARN-LOG" fileName="warn.log"> <Filters> <!--將ERROR及其以上級別的日志給DENY掉--> <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/> <!--ACCEPT warn級別的日志--> <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/> </Filters> </RollingFile> <!--將error級別的日志單獨輸出到error.log中--> <RollingFile name="ERROR-LOG" fileName="error.log"> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> </RollingFile>
注意點
重要的是,如果有多個ThresholdFilter,那么Filters是必須的。同時在Filters中,首先要過濾不符合的日志級別,把不需要的首先DENY掉,然后再ACCEPT需要的日志級別,這個次序不能搞顛倒。