如何在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文件名中包含当前日期和小时?的主要内容,如果未能解决你的问题,请参考以下文章