log4j多级别多输出文件的配备

log4j多级别多输出文件的配置

以下代码需要log4j-1.2.17.jar的支持。

BackUpAppender.java文件内容如下:

package com.shihuan.core.framework.extend;

import org.apache.log4j.Priority;

import org.apache.log4j.RollingFileAppender;

public class BackUpAppender extends RollingFileAppender {

   @Override 

   public boolean isAsSevereAsThreshold(Priority priority) { 

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

   }

}

 log4j.properties文件内容如下:

log4j.rootLogger=debug,debug,info,warn,error,fatal,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout   
#log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.stdout.layout.ConversionPattern=%-p [%t]: (%F:%L) - %m%n
    
log4j.logger.debug=debug
log4j.appender.debug=com.shihuan.core.framework.extend.BackUpAppender
log4j.appender.debug.layout=org.apache.log4j.PatternLayout   
#log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.debug.layout.ConversionPattern=%d\: at %l%n %-p - %m%n
#log4j.appender.debug.datePattern='.'yyyy-MM-dd
log4j.appender.debug.Threshold = debug
log4j.appender.debug.append=true
log4j.appender.debug.File=E:/logs/shihuan_debug.log    

    
log4j.logger.info=info
log4j.appender.info=com.shihuan.core.framework.extend.BackUpAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
#log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.info.layout.ConversionPattern=%d\: at %l%n %-p - %m%n
#log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = info
log4j.appender.info.append=true
log4j.appender.info.File=E:/logs/shihuan_info.log


log4j.logger.warn=warn
log4j.appender.warn=com.shihuan.core.framework.extend.BackUpAppender
log4j.appender.warn.layout=org.apache.log4j.PatternLayout   
#log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.warn.layout.ConversionPattern=%d\: at %l%n %-p - %m%n
#log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.Threshold = warn
log4j.appender.warn.append=true
log4j.appender.warn.File=E:/logs/shihuan_warn.log 

log4j.logger.error=error
log4j.appender.error=com.shihuan.core.framework.extend.BackUpAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout   
#log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.error.layout.ConversionPattern=%d\: at %l%n %-p - %m%n
#log4j.appender.error.datePattern='.'yyyy-MM-dd  
log4j.appender.error.Threshold = error   
log4j.appender.error.append=true 
log4j.appender.error.File=E:/logs/shihuan_error.log 

log4j.logger.fatal=fatal
log4j.appender.fatal=com.shihuan.core.framework.extend.BackUpAppender
log4j.appender.fatal.layout=org.apache.log4j.PatternLayout   
#log4j.appender.fatal.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n 
log4j.appender.fatal.layout.ConversionPattern=%d\: at %l%n %-p - %m%n
#log4j.appender.fatal.datePattern='.'yyyy-MM-dd   
log4j.appender.fatal.Threshold =fatal   
log4j.appender.fatal.append=true 
log4j.appender.fatal.File=E:/logs/shihuan_fatal.log 

#MAIL
#log4j.appender.mail=org.apache.log4j.net.SMTPAppender
#log4j.appender.mail.Threshold=fatal
#log4j.appender.mail.BufferSize=512
#log4j.appender.mail.SMTPHost=smtp.sina.com
#log4j.appender.mail.Subject=System FATAL ErrorMessage
#log4j.appender.mail.SMTPUsername=shihuan830619
#log4j.appender.mail.SMTPPassword=12345678
#log4j.appender.mail.From=abcdef830619@163.com
#log4j.appender.mail.To=abcdef830619@qq.com
#log4j.appender.mail.layout=com.lemon.log4j.MyLayOut
##log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage ] %d - %c -%-4r [%t] %-5p %c %x - %m%n