log4j2 自定义级别

配置文件自定义level





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



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

如果一个appender里有多个ThresholdFilter,则必须使用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);
}

}



你可能感兴趣的:(log4j)