所以,主要问题-我只想删除30天以上的归档日志,并且我的日志文件的最大大小必须为100 mb。
手册说:
基于时间的文件归档日志文件也可以自动归档 根据时间。此配置将在开始时存档文件 ,并且将使用滚动文件命名,因此, 前一天总是可以在archives // log.0.txt中找到,从两个日志 天前在archives // log.1.txt中,依此类推。此配置将 最多保留7个归档文件,因此超过1周的日志将被保留 自动删除。
<target name="file" xsi:type="File" layout="${longdate} ${logger} ${message}" fileName="${basedir}/logs/logfile.txt" archiveFileName="${basedir}/archives/log.{#}.txt" archiveEvery="Day" archiveNumbering="Rolling" maxArchiveFiles="7" concurrentWrites="true" keepFileOpen="false" encoding="iso-8859-2" />
但不适用于文件大小限制。它会生成7个文件,并在每次生成100mb新文件时进行清理。我做了一些测试,每5分钟生成一次日志文件。因此,是否有可能考虑基于时间的文件归档的文件大小限制?
我的代码:
<target xsi:type="File"
name="InfoFile"
fileName="logs/log.txt"
layout="[${date:yyyy-MM-dd}]"
archiveAboveSize="104857600"
archiveEvery="Day"
archiveNumbering="Rolling"
archiveFileName="logs/archives/log.{###}.txt"
archiveDateFormat="yyyyMMdd-hhmmss"
maxArchiveFiles="30"
enableFileDelete="true" />