java - Log4j DailyRollingFileAppender : Specifying rollover directory

标签 java logging log4j

有没有人碰巧知道 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/

相关文章:

java - 团结 : Call Android Kotlin Function Inside Companion Object from Unity

java - 控制 session 时间戳是否更新

logging - 为什么要对 Factor12 中的日志进行标准输出?

android - 我搞砸了我的 System_server 服务吗?

logging - log4net - 如何过滤掉包含指定文本的异常?

java - HH 中的 JTextField 时间 :mm:ss

java - REST 中的空指针异常

java - Log4j 模式布局 %p token 不起作用

java - Java 中的 log4j 记录器中的方法名称无法正确打印

java - Log4j Fileappender 不会在它应该创建的位置创建文件