Сделайте, чтобы log4j DailyRollingFileAppender переносил дату или размер, в зависимости от того, что произойдет раньше

Я знаю, что log4j предоставляет классы RollingFileAppender и DailyRollingFileAppender, однако DailyRollingFileAppender не поддерживает свойство MaxFileSize.

Как настроить поведение log4j, чтобы он мог регистрироваться следующим образом: скользящая политика основана на обоих периодах времени (и имя файла добавляется с DatePattern), как в DailyRollingFileAppender и MaxFileSize (как в RollingFileAppender)?

Пример:

  • Файл журнала обновляется каждые часы (к имени файла добавляется метка времени, например, ГГГГ-ММ-ДД_ЧЧ-ММ-СС (обычно ММ и СС будут "00" и "00").

  • Максимальный размер файла не более 1 МБ.

  • Во время двух контрольных точек цикла переворачивания каждый час, если происходит событие превышения maxFileSize, файл журнала также должен перевернуться (что означает, что минутная и вторая метки будут иметь значение, отличное от "00")

2 ответа

Вы можете расширить класс FileAppender или любой другой класс appender и реализовать собственную версию. пример
DailyRollingFileAppender

Взгляните на TimeAndSizeRollingAppender с открытым исходным кодом на сайте http://www.simonsite.org.uk/, как указано в этом ответе на другой вопрос здесь, в SO.

Другие вопросы по тегам