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

时间:2014-04-04 15:18:01

标签: java log4j rollingfileappender

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

1 个答案:

答案 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存在