如何配置log4j文件appender,每15分钟滚动一次日志文件

vbc*_*bcr 8 java log4j

我知道我可以使用DailyRollingFileAppender每月,每天,每半天,每小时或每分钟滚动日志文件.但是如何配置log4j每15分钟滚动一次日志文件.

如果配置无法做到这一点,请建议/指导我如何扩展log4j的文件appender来实现这一点.

感谢致敬.

mls*_*ter 4

Log4J 中DailyRollingFileAppender的 Javadoc表明基于时间的滚动仅发生在基于单位的滚动(日、周、月等)上。这意味着您可以得到的最接近该模式的是'.'yyyy-MM-dd-HH-mm,它会每分钟滚动一次。

我的建议是执行以下操作之一:

  • 由于您以固定的时间间隔运行,因此编写一个自定义程序FileAppender,使用借用的逻辑来DailyRollingFileAppender进行计算
  • 如果您有一定的灵活性,请从 Log4J 切换到LOGBack,并编写一个RollingPolicy使用从 LOGBack 时间计算借用的逻辑的自定义(这与 Log4J 中的逻辑非常相似)

顺便说一句,如果您选择后者,我建议您考虑使用SLF4J API 进行编码,并使用 LOGBack(或 Log4J)作为底层实现。