Java log4j将滚动文件移动到另一个目录/位置

Java log4j将滚动文件移动到另一个目录/位置,java,log4j,rollingfileappender,Java,Log4j,Rollingfileappender,我的目标是每当文件mylog.log滚动到mylog.log.1时,这个滚动文件也会移动到另一个目录,因此在原始目录中始终只有mylog.log。使用RollingFileAppender可以这样做吗?或者来自默认log4jlibrary的另一个appender?我想您指的是来自log4j的RollingFileAppender 如果您使用版本>=1.2.16和log4j extras,您可以使用 log4j.rootCategory=INFO, base log4j.appender.base

我的目标是每当文件
mylog.log
滚动到
mylog.log.1
时,这个滚动文件也会移动到另一个目录,因此在原始目录中始终只有
mylog.log
。使用
RollingFileAppender
可以这样做吗?或者来自默认
log4j
library的另一个appender?

我想您指的是来自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
存在)存在

为什么最低要求是1.2.16版本?