基本的xml参考链接https://www.jianshu.com/p/8ded6531ef76
- 一.定期生成日志的配置
<RollingFile name="RollingFile" fileName="./logs/logs.log"
filePattern="./histroricalLog/$${date:yyyy-MM}/app-%d{yyyy-MM-dd-HH-mm}-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<Policies>
//此生成时间根据filePattern的设置来决定interval的单位,本例中filePattern精确到了分钟,此处的“1”就表示1分钟在histroricalLog目录下生成一个日志
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>>
</RollingFile>
一小时生成一个日志的写法如下:
<RollingFile name="RollingFile" fileName="./logs/logs.log"
filePattern="./histroricalLog/$${date:yyyy-MM}/app-%d{yyyy-MM-dd-HH}-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>>
</RollingFile>
- 二 按照大小生成文件
<RollingFile name="RollingFile" fileName="./logs/logs.log"
filePattern="./histroricalLog/$${date:yyyy-MM}/app-%d{yyyy-MM-dd-HH}-%i.log.gz">
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<Policies>
//fileName="./logs/logs.log"的日志文件大于50MB时,在filePattern目录下生成新的文件。也可以设置成10KB等
<SizeBasedTriggeringPolicy size="50MB"/>
//此处表示filePattern中"app-%d{yyyy-MM-dd-HH}-%i.log.gz"中i的最大值,如果生成的日志数多于max,会被覆盖
//默认max是7,为了方便查日志,过去的数据不被覆盖,max可以根据需要设定大一些“.gz”表示linux下的压缩文件
<DefaultRolloverStrategy max="20"/>
</Policies>>
</RollingFile>