如何在kafka server.log文件名中包含当前日期和小时?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在kafka server.log文件名中包含当前日期和小时?相关的知识,希望对你有一定的参考价值。

我们使用kafka 1.1.0。

log4j.properties就像

log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n

现在日志写得像

  • 总是写信给server.log
  • 每小时,将server.log重命名为server.log.2018-08-30-21,创建一个新的server.log
  • 重复

是否可以将写入逻辑更改为

  • 现在是2018-08-30 21:59,写日志到server.log.2018-03-30-21
  • 当时间流逝到2018-08-30 22:01时,请将日志写入server.log.2018-03-30-22

只是更改一些配置文件?我想知道在${kafka.logs.dir}/server.log.${something??}之后是否有任何我可以使用的时间戳变量

答案

您可以使用以下格式在每分钟开始时进行翻转。

log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH-mm

官方log4j javadoc DailyRollingFileAppender

另一答案

我认为它必须写入server.properties,或者你在那里硬编码的任何字符串。

我怀疑log4j.appender.kafkaAppender.File属性接受日期模式或其他动态变量

FileAppender文档至少没有表明这样

以上是关于如何在kafka server.log文件名中包含当前日期和小时?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML 中包含 SCSS 文件 [关闭]

如何在 vuejs 组件中包含 js 文件?

如何在 JSFL 文件中包含一些 js 文件?

在 JSP 中包含/导入文件之前,如何检查文件是不是存在?

如何在文件中包含php别名

如何在 asp.net 页面中包含外部 html 文件