以下代码需要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