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, fileout

## 定義控制台日志管理器
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和ERROR級別文件輸出日志管理器
log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout.File=/usr/logs/pear/all.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.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=/usr/logs/pear/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=/usr/logs/pear/error.log 

3、log4j.properties配置文件--日志文件按固定大小自動分割

log4j.rootLogger=info, stdout, info, error, fileout

## 定義控制台日志管理器
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和ERROR級別文件輸出日志管理器
##每一天產生1個日志文件
##log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=/home/liying/logs/pear/all.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=[%-5p %d %t] %l **** %m%n
##當文件大小超過20MB時,將原來的文件名改為*.log.1,再使用*.log接收新的日志記錄。此處保留10000個備份文件。
log4j.appender.fileout.MaxFileSize=20MB
log4j.appender.fileout.MaxBackupIndex=10000
log4j.appender.fileout.Append=true

## 定義INFO級別文件輸出日志管理器
log4j.logger.info=com.liying.peach.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=/home/liying/logs/peach/info.log

## 定義ERROR級別文件輸出日志管理器
log4j.logger.error=com.liying.peach.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=/home/liying/logs/peach/error.log 

本文整理自網絡


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM