<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<!--开发环境文件-->
<Loggers>
<!--additivity 是否在父级中打印-->
<logger name="com.test" level="DEBUG" additivity="false">
<AppenderRef ref="testInfo" />
<AppenderRef ref="Console" />
</logger>
<Root level="DEBUG">
<AppenderRef ref="Console" />
</Root>
</Loggers>
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout>
<Pattern>[%l] [%t] [%-4r] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%p] \: %m%n</Pattern>
</PatternLayout>
</Console>
<RollingFile name="testInfo" fileName="test-log/test.log" filePattern="test-log/testInfo-%d{yyyy-MM-dd}-%i.log.gz">
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<PatternLayout>
<Pattern>[%l] [%t] [%-4r] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%p] \: %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="20 MB" />
</Policies>
<!--每天早上5点进行检查删除 默认每天生成7个文件-->
<CronTriggeringPolicy schedule="0 0 5 * * ? "/>
<DefaultRolloverStrategy>
<Delete basePath="test-log" maxDepth="1">
<IfFileName glob="test*.log.gz" />
<!--删除15天前的文件-->
<IfLastModified age="15d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
</Configuration>
版本:log4j 要求2.5以上版本。
划重点:
<DefaultRolloverStrategy>
<Delete basePath="test-log" maxDepth="1">
<IfFileName glob="test*.log.gz" />
<!--删除15天前的文件-->
<IfLastModified age="15d" />
</Delete>
</DefaultRolloverStrategy>