Log4j DailyRollingFileAppender:指定翻转目录
Log4j DailyRollingFileAppender: Specifying rollover directory
有谁知道 log4j 的 DailyRollingFileAppender class 是否能够在与源文件不同的目录中创建新日志?
我知道这可以通过 RollingFileAppender 实现,如下所示:
log4j move rolling files to another directory/location
我想使用前一个 appender 的原因是因为它使翻转过程基于日期或时间,而不是最大文件大小。
log4j.rootLogger=INFO, EXAMPLE
log4j.appender.EXAMPLE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.EXAMPLE.DatePattern='.'yyyy-MM-dd
log4j.appender.EXAMPLE.File=/path/to/my/logs/example.log
log4j.appender.EXAMPLE.Append=true
log4j.appender.EXAMPLE.layout=org.apache.log4j.PatternLayout
log4j.appender.EXAMPLE.layout.ConversionPattern=%d{dd-MMM-yyyy HH:mm:ss,SSS} - %X{userId} - %X{sessionId} %-5p %c{1}:%L - %m%n
有一种方法可以在不同的目录中创建滚动日志(尽管这有点胡扯,而且在目录名称和位置方面非常有限)。
由于 DatePattern
将模式附加到日志文件名的末尾,您可以这样做:
log4j.appender.EXAMPLE.DatePattern='_old/example.log.'yyyy-MM-dd
这将导致完成的日志在如下目录中结束:-
/path/to/my/logs/example.log_old
找到下面的代码,您可以在其中以非常简单的方式将其存档,请检查并还原
Reference
#Worked with 2.17 version
log4j.rootLogger=INFO, app
log4j.appender.app=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.app.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.app.rollingPolicy.ActiveFileName=worker.log
log4j.appender.app.rollingPolicy.FileNamePattern=worker-.%d{yyyyMMdd}.log.gz
log4j.appender.app.layout=org.apache.log4j.PatternLayout
log4j.appender.app.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
有谁知道 log4j 的 DailyRollingFileAppender class 是否能够在与源文件不同的目录中创建新日志?
我知道这可以通过 RollingFileAppender 实现,如下所示: log4j move rolling files to another directory/location
我想使用前一个 appender 的原因是因为它使翻转过程基于日期或时间,而不是最大文件大小。
log4j.rootLogger=INFO, EXAMPLE
log4j.appender.EXAMPLE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.EXAMPLE.DatePattern='.'yyyy-MM-dd
log4j.appender.EXAMPLE.File=/path/to/my/logs/example.log
log4j.appender.EXAMPLE.Append=true
log4j.appender.EXAMPLE.layout=org.apache.log4j.PatternLayout
log4j.appender.EXAMPLE.layout.ConversionPattern=%d{dd-MMM-yyyy HH:mm:ss,SSS} - %X{userId} - %X{sessionId} %-5p %c{1}:%L - %m%n
有一种方法可以在不同的目录中创建滚动日志(尽管这有点胡扯,而且在目录名称和位置方面非常有限)。
由于 DatePattern
将模式附加到日志文件名的末尾,您可以这样做:
log4j.appender.EXAMPLE.DatePattern='_old/example.log.'yyyy-MM-dd
这将导致完成的日志在如下目录中结束:-
/path/to/my/logs/example.log_old
找到下面的代码,您可以在其中以非常简单的方式将其存档,请检查并还原 Reference
#Worked with 2.17 version
log4j.rootLogger=INFO, app
log4j.appender.app=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.app.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.app.rollingPolicy.ActiveFileName=worker.log
log4j.appender.app.rollingPolicy.FileNamePattern=worker-.%d{yyyyMMdd}.log.gz
log4j.appender.app.layout=org.apache.log4j.PatternLayout
log4j.appender.app.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n