RollingFile:使用文件方式记录日志
- fileName:记录日志的文件
- filePattern:当日志记录文件超过指定大小时,以指定的文件格式生成新的文件
SizeBasedTriggeringPolicy
- size:指定每个日志文件大小,如果超过该大小,则生成新的日志文件
DefaultRolloverStrategy
- max 指定相同规则文件最多保留多少个,如果规则是root-%d{yyyy-MM-dd}-%i.log,那么此时是以天为单位记录,会依次生成root-2022-05-07-1.log,
root-2022-05-07-2.log,root-2022-05-07-3.log,…,如果同一天内的文件数量超过了max指定的数量,则会进行覆盖,不会继续创建新的.
Delete IfLastModified
- age : 指定超过多久之后就删除旧文件,如30d,保留近30天的文件,这个d一定要和filePattern中指定的规则一致,也就是filePattern是以天为单位,这里也要以天为单位
-
<RollingFile name="MyFile" fileName="./apps/logs/${filename}"
filePattern="${LOG_HOME}/root-%d{yyyy-MM-dd}-%i.log">
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{1.} - %msg%throwable{short}" />
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="30">
<Delete basePath="${LOG_HOME}/" maxDepth="2">
<IfFileName glob="*.log" />
<IfLastModified age="30d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>