Сделайте, чтобы 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.