`

Log4j配置多个日志文件

阅读更多

1. 配置多个文件输出, 不同的级别, 到不同的日志文件:

Log4j的基本使用不再在此细说,在工作中有需求要将错误日志信息与一般输出信息分别记录,即记录在两个日志文件中
,配置如下:
log4j.rootLogger=ERROR,logError,logInfo
#配置一
log4j.logger.logError= ERROR,logError
# 应用于文件回滚
log4j.appender.logError=org.apache.log4j.RollingFileAppender
log4j.appender.logError.File=ErrLog.log
log4j.appender.logError.Append=true
log4j.appender.logError.MaxFileSize=10MB
#此处指定为0则不会生成备份文件
log4j.appender.logError.MaxBackupIndex=0
log4j.appender.logError.layout=org.apache.log4j.PatternLayout
log4j.appender.logError.layout.ConversionPattern=%d - %c [%t] %-5p %c %x %l - %m%n
log4j.additivity.logError = false
#配置二
log4j.logger.logInfo= INFO,logInfo
log4j.appender.logInfo=org.apache.log4j.RollingFileAppender
log4j.appender.logInfo.File=InfoLog.log
log4j.appender.logInfo.Append=true
log4j.appender.logInfo.MaxFileSize=10MB
log4j.appender.logInfo.MaxBackupIndex=0
log4j.appender.logInfo.layout=org.apache.log4j.PatternLayout
log4j.appender.logInfo.layout.ConversionPattern=%d - %c [%t] %-5p %c %x - %m%n
log4j.additivity.logInfo = false

在类中调用代码如下:
 static Logger loggerError = Logger.getLogger("logError");
 static Logger loggerInfo = Logger.getLogger("logInfo");
此处logError和logInfo分别为配置文件中定义的方案名称,最后只需将要记录的信息对号入座即可。

 source Url: http://blog.163.com/xing_mu_1/blog/static/661429020091139851471/

 

2. 配置一个日志输出:

 

# configuration project logger
# 1. log4j.rootLogger=DEBUG,MYLOG
log4j.rootLogger=DEBUG,MYLOG

# ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF
# configuration apache logger
log4j.logger.org.apache=INFO

# 2. Appender
log4j.appender.MYLOG=org.apache.log4j.RollingFileAppender
log4j.appender.MYLOG.File=./logs/info.log
log4j.appender.MYLOG.MaxFileSize=2MB

# 3. Appender Layout
log4j.appender.MYLOG.layout=org.apache.log4j.PatternLayout   
log4j.appender.MYLOG.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%p] %t [%c]?- %m%n

 

上面的配置info.log大于2M时,再运行程序时会把原来的info.log备份为info.log.1的文件.
可以配置log4j.appender.MYLOG.MaxBackupIndex=0 
则info.log大于2M时,重新写日志时会把info.log清空,再写日志到info.log
在java类中定义:

public static final Log logger = LogFactory.getLog(Test.class); 

 
[测试成功]

 

JAVAEYE LOG4J入门良好贴: log4j详解与实战: http://www.iteye.com/topic/378077

 

分享到:
评论
4 楼 huidaoshuxide 2015-09-17  
log4j.logger.ACP_SDK_LOG=INFO,ACP_SDK_LOG
log4j.additivity.ACP_SDK_LOG=false
为啥我得配这个才能然原先日志不写入该模块日志
3 楼 zzge163 2013-04-12  
第一块代码的第3,5,17行的配置方式,会导致所有的日志文件都有一样的日志内容,日志并不会分开,把第3行改为如下即可:log4j.rootLogger=ERROR,或者直接删掉第3行
2 楼 greatwqs 2012-04-13  
Logger log = Logger.getLogger("START");
1 楼 greatwqs 2012-04-13  

#### Eagle.E.Wang Create on 2012-04-13
log4j.rootLogger=ERROR,START,END

### start.log
log4j.logger.START=DEBUG,START
log4j.appender.START=org.apache.log4j.RollingFileAppender
log4j.appender.START.File=./logs/start.log
log4j.appender.START.Append=true
log4j.appender.START.MaxFileSize=2MB
log4j.appender.START.MaxBackupIndex=5
log4j.appender.START.layout=org.apache.log4j.PatternLayout
log4j.appender.START.layout.ConversionPattern=%d - %c [%t] %-5p %c %x %l - %m%n
log4j.additivity.START=false

### endss.log
log4j.logger.END=DEBUG,END
log4j.appender.END=org.apache.log4j.RollingFileAppender
log4j.appender.END.File=./logs/end.log
log4j.appender.END.Append=true
log4j.appender.END.MaxFileSize=2MB
log4j.appender.END.MaxBackupIndex=5
log4j.appender.END.layout=org.apache.log4j.PatternLayout
log4j.appender.END.layout.ConversionPattern=%d - %c [%t] %-5p %c %x - %m%n
log4j.additivity.END=false

相关推荐

Global site tag (gtag.js) - Google Analytics