要定期刪除log4j日志,您可以通過配置RollingFileAppender的MaxBackupIndex和MaxFileSize屬性來實現。
MaxBackupIndex屬性確定保留的備份文件的數量。例如,設置為5將保留最新的5個備份文件。
MaxFileSize屬性確定每個日志文件的最大大小。當達到最大大小時,將創建一個新的日志文件。您可以在屬性值中使用“KB”,“MB”或“GB”來指定大小單位。
以下是一個示例log4j.properties文件的配置,用于每天保留7個備份文件,并將每個日志文件的最大大小設置為10MB:
log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/path/to/log/file.log
log4j.appender.file.MaxBackupIndex=7
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
請注意,上述配置僅適用于log4j 1.x版本。如果您正在使用log4j 2.x,您可以使用RollingFileAppender的參數策略來實現相同的效果。以下是一個示例log4j2.xml文件的配置,用于每天保留7個備份文件,并將每個日志文件的最大大小設置為10MB:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" name="MyApp" packages="">
<Appenders>
<RollingFile name="file" fileName="/path/to/log/file.log"
filePattern="/path/to/log/file-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>
在上述配置中,filePattern屬性確定備份文件的命名模式。%d{yyyy-MM-dd}將在文件名中插入當前日期,%i表示備份文件的索引號。
請根據您的需求進行適當的調整和配置。