J'ai essayé d'archiver le fichier de consignation de mes applications qui sont plus anciennes qu'une certaine période. Nous avons remarqué que depuis log4j 2.5 nous avons un tag Delete
qui vous permet de définir les critères sur la base desquels nous pouvons supprimer/archiver nos logs. J'ai essayé d'utiliser cela, mais je ne suis pas en mesure de le craquer. Essayé avec une valeur de 0day 30d
de 30 jours et qui ne fonctionne pas sur mon serveur et aucune politique de 20 secondes PT20S
fonctionnant dans ma machine de développement.Archivage du fichier journal à l'aide de log4j2 2.5
Toute direction est grandement appréciée.
XML est comme ci-dessous:
<?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>
Vous pouvez déboguer en définissant '' au début du fichier de configuration. –