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

edqdpe6u  于 2021-06-06  发布在  Kafka
关注(0)|答案(2)|浏览(280)

我们使用Kafka1.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.logserver.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??}

ia2d9nvy

ia2d9nvy1#

您可以使用以下格式在每分钟开始时滚动。

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

官方log4j javadoc dailyrollingfileappender

kq0g1dla

kq0g1dla2#

我想它总是要写信给我 server.properties ,或者任何你硬编码的字符串。
我怀疑 log4j.appender.kafkaAppender.File 属性接受日期模式或其他动态变量
fileappender文档至少没有指出这一点

相关问题