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

Posted Ruthless

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j按级别输出日志到不同文件配置相关的知识,希望对你有一定的参考价值。

1、自定义LogFileAppender类,继承DailyRollingFileAppender,实现Log4j按级别输出日志到不同文件。

package com.liying.mango.common.interceptor;

import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Priority;

public class LogFileAppender extends DailyRollingFileAppender {
    
    @Override
    public boolean isAsSevereAsThreshold(Priority priority) {
        return this.getThreshold().equals(priority);  
    }
}

 

2、log4j.properties配置文件

log4j.rootLogger=info, stdout, info, error

## 定义控制台日志管理器
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p %d %t] %l **** %m%n

## 定义INFO级别文件输出日志管理器
log4j.logger.info=com.liying.mango.common.interceptor.LogFileAppender
## 每天产生一个日志文件,将日志信息输出到一个日志文件,并且每天输出到一个新的日志文件
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=[%-5p %d %t] %l **** %m%n
log4j.appender.info.datePattern=‘.‘yyyy-MM-dd
log4j.appender.info.Threshold = INFO 
log4j.appender.info.append=true
log4j.appender.info.File=${catalina.home}/logs/mango.info.log

## 定义ERROR级别文件输出日志管理器
log4j.logger.error=com.liying.mango.common.interceptor.LogFileAppender
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=[%-5p %d %t] %l **** %m%n
log4j.appender.error.datePattern=‘.‘yyyy-MM-dd
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.append=true
log4j.appender.error.File=${catalina.home}/logs/mango.error.log 

本文整理自网络

以上是关于Log4j按级别输出日志到不同文件配置的主要内容,如果未能解决你的问题,请参考以下文章

Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法

Log4j 2, 按级别打印到不同日志文件

如何用log4j输出多个自定义日志文件

如何让log4j日志只输出错误信息

log4j分文件输出不同级别的日志

Logback:只输出Info和Error级别的日志,并输出到不同的文件