log4j2 でディレクトリ全体を自動的に削除する方法

log4j2では、「Delete」プラグインを使用して、ディレクトリ全体を自動削除できます。以下は、「Delete」プラグインを使用してディレクトリを自動削除する方法を示す、サンプルの設定ファイルです。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Properties>
<Property name="logDir">logs</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile" fileName="${logDir}/app.log"
filePattern="${logDir}/app-%d{MM-dd-yy-HH-mm}.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="${logDir}">
<IfFileName glob="app-*.log.gz" />
<IfLastModified age="7d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>

上記の例では、アペンダー「RollingFile」は、TimeBasedTriggeringPolicyを使用して1分おきに新しいログファイルを生成してロールオーバーしています。また、デフォルトのロールオーバー戦略であるDefaultRolloverStrategyを使用しており、「Delete」プラグインが含まれています。

「Delete」プラグインでは、ファイル名が「app-」で始まり「.log.gz」で終わるファイルをすべてマッチさせるためにが設定されており、またが設定されており、ファイルの最終更新日時が7日を超えるとファイルが削除されます。

ディレクトリパスやその他のオプションは、あなたのニーズに応じて設定ファイルを修正してください。

bannerAds