因为现场的定时调度框架是前辈写的,前辈已高就,现场使用因为涉及到一天几亿数据需要提取出来,转换为其他表数据,所以日志量特别大,1天10个G,长此以往肯定不行的,找了很多网上的教程都不行,最后发现,这样就可以删除3天的日志,目的达到,备忘分享
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level - %msg%n" />
</Console>
<RollingFile name="file" fileName="${sys:logPath}${sys:logFileName}.log"
filePattern="${sys:logPath}${sys:logFileName}-%d{yyyy-MM-dd-HH-mm}.log"
append="true">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level - %msg%n" />
<Policies>
<!-- <TimeBasedTriggeringPolicy interval="5" /> -->
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
<DefaultRolloverStrategy max="20">
<Delete basePath="${sys:logPath}" maxDepth="1">
<IfFileName glob="*.log"/>
<IfLastModified age="4320m" />
<!--!Note: 这里的age必须和filePattern协调,
后者是精确到HH, 这里就要写成xH, xd就不起作用,精确到mm 下面就要成分单位 4320是3天的 ,时间需要保证文件不被占用否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
<!--3天-->
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<logger name="com.sf.smartjob" level="DEBUG">
</logger>
<Root level="DEBUG">
<AppenderRef ref="console" />
<AppenderRef ref="file" />
</Root>
</Loggers>
</Configuration>