我现在需要一个log4j的配置文件,要求每个日志文件的大小为200MB,如果达到该大小,保存下原来的日志文件重新在创建一个文件保存日志。请教
RollingFileAppender是循环的。永远都只存在MaxFileSize个日志文件。
所以,如果要实现里的这个需求,建议直接打开RollingFileAppender源代码,然后修改里面的保存逻辑,这就ok了。
或者直接设置MaxFileSize=1024,这个基本够了吧。
1024*200M=200G相信你的磁盘没这么大吧。
[code="xml"]
########################
########################
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#指定日志消息的输出最低层次
log4j.appender.ROLLING_FILE. Threshold= ERROR
#指定消息输出到rolling.log 文件
log4j.appender.ROLLING_FILE. File = rolling.log
#默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容
log4j.appender.ROLLING_FILE. Append = true
#后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来#的内容移到rolling.log .1文件
log4j.appender.ROLLING_FILE. MaxFileSize= 200MB
#指定可以产生的滚动文件的最大数
log4j.appender.ROLLING_FILE. MaxBackupIndex= 2
#配置日志信息的输出格式
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[/code]
[quote="Dxx23"]RollingFileAppender[/quote]就是你需要的,[url=http://logging.apache.org/log4j/1.2/apidocs/index.html?org/apache/log4j/DailyRollingFileAppender.html]详细配置[/url]
我给另一个常用的DailyRollingFileAppender([url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html]参考[/url])的吧
[code="java"]
#定义存放位置,后面的配置都是相对此值:$log4jRoot}
log4jRoot=../logs/App
log4j.rootLogger=info,console,allFile
log4j.appender.allFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.allFile.layout=org.apache.log4j.PatternLayout
log4j.appender.allFile.layout.ConversionPattern=%d [%-5p][%t] %m (%C:%F:%L) %n
log4j.appender.allFile.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.allFile.File=${log4jRoot}/all.log
log4j.appender.allFile.Append=true
log4j.appender.allFile.Threshold=all
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%-5p][%t] %m (%C:%F:%L) %n
log4j.appender.console.Threshold=info
log4j.logger.org.springframework=info
log4j.logger.org.springframework.jdbc=all
#jdbcTemplate sql
log4j.logger.org.springframework.jdbc.core.JdbcTemplate=info
log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=info
log4j.logger.org.springframework.transaction=debug
#log4j.logger.org.springframework=trace
log4j.logger.org.hibernate=info
log4j.logger.org.hibernate.transaction=debug
log4j.logger.org.skzr=all
[/code]
刚才那个RollingFileAppender的详细配置发错了,因该是[url=http://logging.apache.org/log4j/1.2/apidocs/index.html?org/apache/log4j/RollingFileAppender.html]这个[/url]
你复制的时候难道还保持了期间的空格??????????
[code="java"]
#原来的--->.后面有空格
log4j.appender.ROLLING_FILE. MaxFileSize= 200MB
#不要空格
log4j.appender.ROLLING_FILE.MaxFileSize= 200MB
[/code]