log4j move rolling files to another directory/location

后端 未结 1 467
抹茶落季
抹茶落季 2021-01-06 11:11

my goal is whenever file mylog.log is rolled to mylog.log.1 this rolled file is also moved to another directory, so in the original directory there

1条回答
  •  囚心锁ツ
    2021-01-06 11:39

    I think you mean the RollingFileAppender from Log4J

    if you use version >= 1.2.16 and the log4j-extras you can use this

    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
    

    The important part is log4j.appender.base.rollingPolicy.FileNamePattern=/tmp/test/logger-%i.log.gz

    But you have to make sure that the folder (in this example /tmp/test exists

    0 讨论(0)
提交回复
热议问题