log4j2.xml管理日志文件示例-限制保存日志文件时间及大小
生产上默认每天最多7个文件,每个文件100MB;保存30天以内的,并且总大小不超过5GB。具体配置如下所示
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" name="MyApp" packages="">
<Properties>
<Property name="baseDir">/var/log/springboot/RecLogger/</Property>
<property name="LOG_PATTERN" value=""/>
<property name="FILE_NAME" value="rec-logger.log"/>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout charset="UTF-8" pattern="[%d] [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="RollingFileInfo" filePermissions="rw-r--r--"
fileName="${baseDir}/rec-logger.log"
filePattern="${baseDir}/rec-logger-%d{yyyy-MM-dd}-%i.log">
<Filters>
<ThresholdFilter level="INFO" />
</Filters>
<PatternLayout charset="UTF-8" pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" />
<Policies>
<!-- 启动时,会删除多余的日志文件 -->
<OnStartupTriggeringPolicy/>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100M"/>
</Policies>
<DefaultRolloverStrategy max="2">
<Delete basePath="${baseDir}" maxDepth="1">
<!-- 最近30天,最多5GB的日志 -->
<IfFileName glob="rec-logger-*.log">
<IfAny>
<IfLastModified age="30d"/>
<IfAccumulatedFileSize exceeds="5GB"/>
</IfAny>
</IfFileName>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="TRACE">
<appender-ref ref="Console"/>
<AppenderRef ref="RollingFileInfo"/>
</Root>
<Logger name="org.mybatis" level="INFO" />
<Logger name="org.springframework" level="INFO" />
<Logger name="com.ydfind.www.rec" level="INFO" />
</Loggers>
</Configuration>