Я пытался архивировать файл журналов приложений, который старше определенного периода. Заметил, что, поскольку log4j 2.5 имеет тег Delete
, давайте определим критерии, на основании которых мы можем удалять/архивировать наши журналы. Пробовал использовать это, но я как-то не в состоянии взломать его. Пробовал с 30day 30d
значением, и это не работает на моем сервере, и ни одна из них не является 20-секундной политикой PT20S
, работающей в моей машине Dev.Архивирование файла журнала с помощью log4j2 2.5
Любое направление приветствуется.
XML, как показано ниже:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyyMMdd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="RollingFile" fileName="C://logs///test.log" filePattern="C://logs//test-%d{MM-dd-yyyy}.log.gz" ignoreExceptions="false">
<PatternLayout pattern="%d{yyyyMMdd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<TimeBasedTriggeringPolicy />
<DefaultRolloverStrategy>
<Delete basePath="C://logs//" maxDepth="2">
<IfFileName glob="*/test-*.log.gz" />
<IfLastModified age="PT20S" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFile" />
</Root>
</Loggers>
</Configuration>
Вы можете выполнить отладку, установив '' в начале файла конфигурации. –