日期:2014-05-18  浏览次数:20676 次

log4j奇怪问题
###   set   log   levels   ###
###Level.ALL   <   Level.DEBUG   <   Level.INFO   <   Level.WARN   <   Level.ERROR   <   Level.FATAL   <   Level.OFF###
log4j.rootLogger   =   debug,stdout,D,E
#,A1,ROLLING_FILE,SOCKET,MAIL,DATABASE

log4j.addivity.org.apache=true
###   输出到控制台   ###
log4j.appender.stdout   =   org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target   =   System.out
log4j.appender.stdout.layout   =   org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern   =     %d{ABSOLUTE}   %5p   %c{1}:%L   -   %m%n

###   输出到日志文件   ###
log4j.appender.D   =   org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File   =   ${WORKDIR}/logs/log.log
log4j.appender.D.Append   =   true
###输出DEBUG级别以上的日志###
log4j.appender.D.Threshold   =   DEBUG  
log4j.appender.D.layout   =   org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern   =   %-d{yyyy-MM-dd   HH:mm:ss}     [   %t:%r   ]   -   [   %p   ]     %m%n

###   保存异常信息到单独文件   ###
log4j.appender.E   =   org.apache.log4j.DailyRollingFileAppender
###异常日志文件名###
log4j.appender.E.File   =   ${WORKDIR}/logs/error.log
log4j.appender.E.Append   =   true
###   只输出ERROR级别以上的日志!!!###
log4j.appender.E.Threshold   =   ERROR  
log4j.appender.E.layout   =   org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern   =   %-d{yyyy-MM-dd   HH:mm:ss}     [   %t:%r   ]   -   [   %p   ]     %m%n


#   应用于文件回滚  

log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  
#log4j.appender.ROLLING_FILE.Threshold=ERROR  
log4j.appender.ROLLING_FILE.File=${WORKDIR}/logs/rolling.log  
log4j.appender.ROLLING_FILE.Append=true  
log4j.appender.ROLLING_FILE.MaxFileSize=100KB  
log4j.appender.ROLLING_FILE.MaxBackupIndex=1  
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]   %d   -   %c   -%-4r   [%t]   %-5p   %c   %x   -   %m%n  


#应用于socket  
#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender  
#log4j.appender.SOCKET.RemoteHost=localhost  
#log4j.appender.SOCKET.Port=5001  
#log4j.appender.SOCKET.LocationInfo=true  
#   Set   up   for   Log   Facter   5  
#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout  
#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n  


#   Log   Factor   5   Appender  
#log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender  
#log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000  

上面是log4j.properties

上面代码没有生成回滚   文件roling.log
只生成了
log.log和error.log

且我每次   log.info( "测试 ");时候内容只添加到stdout.log里面

为什么?


------解决方案--------------------
你设置的文件备份需要指定时间频度
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender