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

    xiaoxiao2021-03-25  70

    定义自己的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按照日志级别输出到不同文件中的功能。

    转载请注明原文地址: https://ju.6miu.com/read-38020.html

    最新回复(0)