参考ドキュメント: https://logging.apache.org/log4j/2.x/manual/appenders.html
ファイル名: log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info" name="base" packages="">
<Properties>
<Property name="baseDir">logs/base</Property>
</Properties>
<Appenders>
<Console name="STDOUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n"/>
</Console>
<RollingFile name="InfoRollingFile" filePattern="${baseDir}/info/info.%d{yyyy-MM-dd}.%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<!-- 单个文件最大500MB -->
<SizeBasedTriggeringPolicy size="500 MB"/>
</Policies>
<!-- 每天日志最多切分成10个 -->
<DirectWriteRolloverStrategy maxFiles="10">
<!-- maxDepth为0时只扫描baseDir本身 -->
<!-- maxDepth为1时只扫描baseDir目录下文档 -->
<Delete basePath="${baseDir}" maxDepth="2">
<!-- 此处注意,如果没有*/不会生效 -->
<IfFileName glob="*/info.*.log.gz" />
<!-- 超过30天的日志自动删除,滚动的时候触发 -->
<IfLastModified age="P30D" >
</IfLastModified>
</Delete>
</DirectWriteRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="InfoRollingFile"/>
</Root>
</Loggers>
</Configuration>