Мне нужно удалить старые файлы журналов, которые ежедневно перекатываются. Чтобы ограничить количество файлов, которые я пробовал:Ошибка при удалении старых файлов с помощью Log4j2
<RollingFile
name="FileAppender"
fileName="${baseDir}/mylog.log"
filePattern="${baseDir}/mylog %d{yyyy-MM-dd}.log.zip">
<PatternLayout pattern="%d{ISO8601} [%p] %c{1} - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
</Policies>
<DefaultRolloverStrategy max="5">
</RollingFile>
Но журналы не удаляются.
Теперь я triying
<DefaultRolloverStrategy>
<Delete basePath="${baseDir}" maxDepth="0">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
Но я получаю ошибку:
ERROR DefaultRolloverStrategy содержит недопустимый элемент или атрибут "Удалить"
Существует что-то не так с моей log4j2 .xml-файл?
Я использую Maven с:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0.1</version>
</dependency>
Спасибо, что элемент «Удалить» теперь принят, но log4j2 по-прежнему не удаляет файлы. Я определяю , но, хотя я меняю системную дату моего компьютера, файлы журнала остаются. –
Я обновил ответ. MaxDepth не должен быть равен нулю. –
Все работает сейчас, еще раз спасибо! –