Моего требования (значения настроены для целей тестирования):TimeBased и SizeBased политика вместе для RollingFile в Log4j 2
- Лог-файлы должны быть максимального размером 1KB, за которым новый файл должен быть сгенерирован держать предыдущий файл нетронутым. Меня не волнует максимальное количество файлов, сгенерированных этим. Он не должен иметь верхнего предела.
- Каждую минуту файлы журнала предыдущей минуты должны быть преобразованы в .zip. Итак, если время 14:00:01, предположим, что для него создано 100 файлов журнала из-за ограничения 1 КБ. Теперь в 14:00:02, 100 журнальных файлов предыдущей секунды должны быть преобразованы в 100 .zip-файлов, и к концу 14:00:02 я должен иметь еще много 100 журнальных файлов.
Итак, в начале 14:00:03 у меня должно быть 100 файлов .log файлов за 14:00:02 и 100 .zip-файлов за 14:00:01.
Я пробовал различные комбинации значений параметров и политик, но не смог достичь этого. Когда я использую обе политики, я получаю .zip-файлы, как только предел 1KB превышен. Ниже приведена моя конфигурация. Пожалуйста, дайте мне знать, где я неправильно:
<RollingFile name="RollingFile" fileName="logs/utility.log" filePattern="logs/utility-%d{yyyy-MM-dd-HH-mm}-%i.zip" >
<PatternLayout>
<pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="1 KB" />
</Policies>
</RollingFile>
Если я изменить его ниже, я не получаю никаких архивных файлов:
<RollingFile name="RollingFile" fileName="logs/utility.log" filePattern="logs/utility-%d{yyyy-MM-dd-HH-mm}-%i.log" >
<PatternLayout>
<pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy>
<param name="FileNamePattern" value="logs/utility-%d{yyyy-MM-dd-HH-mm}-%i.zip" />
</TimeBasedTriggeringPolicy>
<SizeBasedTriggeringPolicy size="1 KB" />
</Policies>
</RollingFile>
По пользовательских действий, вы имеете в виду график работы? –
RollingFileAppender использует plujgins «Action» для выполнения определенных операций, таких как переименование файлов, их сжатие и их удаление. Вы можете написать свой собственный плагин Action и добавить его в конфигурацию, как я показал выше. – rgoers
Хорошо, попробуем это реализовать. Большое спасибо!! –