我的目标是,当文件mylog.log
滚动到mylog.log.1
时,此滚动文件也会移动到另一个目录,因此在原始目录中始终只有mylog.log
。这可以使用RollingFileAppender
吗?或者来自默认log4j
库的另一个appender?
答案 0 :(得分:4)
我认为你的意思是来自Log4J的RollingFileAppender
如果你使用版本> = 1.2.16和log4j-extras你可以使用这个
log4j.rootCategory=INFO, base
log4j.appender.base=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.base.File=/tmp/logger.log
log4j.appender.base.rollingPolicy=org.apache.log4j.rolling.FixedWindowRollingPolicy
log4j.appender.base.rollingPolicy.maxIndex=5
log4j.appender.base.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.base.triggeringPolicy.maxFileSize=100
log4j.appender.base.rollingPolicy.ActiveFileName=/tmp/logger-%i.log
log4j.appender.base.rollingPolicy.FileNamePattern=/tmp/test/logger-%i.log.gz
log4j.appender.base.layout = org.apache.log4j.PatternLayout
log4j.appender.base.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
重要的部分是log4j.appender.base.rollingPolicy.FileNamePattern=/tmp/test/logger-%i.log.gz
但您必须确保该文件夹(在此示例中为/tmp/test
存在