как включить текущую дату и час в имя файла kafka server.log? - PullRequest
0 голосов
/ 31 августа 2018

мы используем кафку 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??}

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Я думаю, что всегда нужно записывать в server.properties или любую строку, которую вы там жестко закодировали.

Я сомневаюсь, что log4j.appender.kafkaAppender.File свойство принимает шаблон даты или другую динамическую переменную

В документах FileAppender такого не указано, по крайней мере

0 голосов
/ 31 августа 2018

Вы можете использовать формат ниже для ролловер в начале каждой минуты.

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

Официальный log4j javadoc DailyRollingFileAppender

...