log4j2设置每天日志文件数和每个日志文件大小

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>


版权声明:本文为qq_43750656原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。