有没有人碰巧知道 log4j 的 DailyRollingFileAppender 类是否能够在与源文件不同的目录中创建新日志?
我知道这可以通过 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
关于java - Log4j DailyRollingFileAppender : Specifying rollover directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29278312/