log4j2 自定义级别

来源:互联网 发布:mac磁盘怎么看空间 编辑:程序博客网 时间:2024/06/17 03:08
配置文件自定义level
<CustomLevels><CustomLevel name="TRADE" intLevel="350" /></CustomLevels>



log4j2还支持在代码中定义level,如果是在代码中定义,又使用了xml,则必须在xml加载之前定义好,否则在记录自定义级别日志时,找不到该级别,从而记录失败。



log4j2.xml里的properties配置必须放在xml文件的最上面,否则可能会不生效

如果一个appender里有多个ThresholdFilter,则必须使用Filters标签将其包裹住
先拒绝不需要的,然后同意需要的日志级别
<Filters><ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/><ThresholdFilter level="TRADE" onMatch="ACCEPT" onMismatch="DENY"/></Filters>



自定义的Logger
import org.apache.logging.log4j.Level;import org.apache.logging.log4j.core.Logger;import org.apache.logging.log4j.core.LoggerContext;import org.apache.logging.log4j.message.MessageFactory;public class YygLogger extends Logger {private static final Level TRADE = Level.getLevel("TRADE");protected YygLogger(LoggerContext context, String name, MessageFactory messageFactory) {super(context, name, messageFactory);}/** * 记录交易相关的日志 *  * @param message */public void trade(String message) {super.log(TRADE, message);}}



0 0
原创粉丝点击