Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

log4j move rolling files to another directory/location

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 is always only mylog.log. Is this possible using RollingFileAppender? Or another appender from default log4j library?

like image 957
smajlo Avatar asked Apr 04 '14 15:04

smajlo


1 Answers

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

like image 141
drkunibar Avatar answered Oct 19 '22 04:10

drkunibar