您的位置:首页 > 其它

Log4j按级别输出日志到不同文件配置分析

2017-03-12 23:43 736 查看
定义自己的Appender类,继承DailyRollingFileAppender,改写针对Threshold 的设置说明。

源代码记载:

public boolean isAsSevereAsThreshold(Priority priority)  

  {  

      return threshold == null || priority.isGreaterOrEqual(threshold);  

  }  

重写 isAsSevereAsThreshold(Priority priority)方法

public class VisitorLogAppender extends DailyRollingFileAppender {

        @Override

    public boolean isAsSevereAsThreshold(Priority priority) {

        //只判断是否相等,而不判断优先级

        return this.getThreshold().equals(priority);

    }

}

这样,进行唯一判断,只有当Threshold与priority一致时,才进行输出,就实现了真正Log4j按照级别输出日志文件。

在log4j.properties中,将配置文件作如下修改:

### VisitorLog ###

log4j.appender.vs=com.xinniu.log4j.VisitorLogAppender

log4j.appender.vs.File = ../logs/testXinniuLogs-visit.log

log4j.appender.vs.Append = true

log4j.appender.vs.Threshold = FATAL

log4j.appender.vs.layout=org.apache.log4j.PatternLayout

log4j.appender.vs.layout.ConversionPattern = %m%n

到此,即完成了按照Log4j按照日志级别输出到不同文件中的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: