要配置log4j2自动删除日志,可以使用RollingFileAppender和TimeBasedTriggeringPolicy。以下是一个示例配置:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/application.log"
filePattern="logs/application-%d{MM-dd-yyyy}.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
上面的配置将创建一个RollingFileAppender,将日志写入logs/application.log
文件。文件名使用logs/application-%d{MM-dd-yyyy}.log
的格式,并且每天创建一个新的日志文件。
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
指定了日志文件的滚动策略。interval
参数表示滚动的时间间隔,这里设置为1天。modulate
参数表示是否在滚动时自动修改文件名,设置为true时会自动添加日期。
可以根据需求修改文件名和滚动策略的参数来满足具体的需求。