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

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

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

Пример:

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

  • MaxFileSize ограничен 1 МБ.

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


person Jim Raynor    schedule 21.12.2011    source источник


Ответы (2)


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

person nayakam    schedule 21.12.2011
comment
Привет Тилакан! Знаете ли вы какую-нибудь индивидуальную реализацию DailyRollingFileAppender со свойством MaxFileSize? Не могли бы вы опубликовать этот URL-адрес, как указано выше. Большое спасибо. - person Channa; 21.11.2014

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

person espinchi    schedule 27.03.2012