Возможно ли с любым из приложений log4j записывать журналы с определенным временем ротации и пределом хранения.
Целью будет:
- иметь лог-файл на каждый день; создать новый файл в полночь для новых журналов
- хранить файлы журналов и автоматически удалять их через определенное время; поэтому удалите файлы журнала старше X дней (например, 30 дней)
Кажется, что вращение возможно, но ограничение времени удержания невозможно с log4j
Версия log4j - 1.2.
да мы можем!
файл:
project->src->main->resources->logback.xml
для получения дополнительной информации см. документацию: TimeBasedRollingPolicy
JavaDoc: TimeBasedRollingPolicy
источник
Большинство ответов основано на logback. Но вопрос о log4j 1.2 (старый ...)
ответ с упоминанием DailyRollingFileAppender также не будет работать.
org.apache.log4j.DailyRollingFileAppender
не поддерживаетMaxBackupIndex
свойство, см. http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html (это дляRollingFileAppender
)Вы можете быть заинтересованы в: Используйте MaxBackupIndex в DailyRollingFileAppender -log4j
и для возможного ответа: Log4j Rollingpolicy и MaxbackupIndex
Но вы, вероятно, должны использовать «эмуляцию» slf4j log4j ( http://www.slf4j.org/legacy.html#log4j-over-slf4j ) и направлять ваш журнал через обратную запись (без каких-либо изменений кода), где это намного проще реализовать ,
источник