Archive old log files
NLog 4.5 makes it easy to setup archive logic to move/cleanup old files with dynamic fileName-Layout. You just need to configure maxArchiveFiles
and it will automatically perform cleanup.
<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="file" xsi:type="File"
layout="${longdate} ${logger} ${message}${exception:format=ToString}"
fileName="${basedir}/logs/AppLog.${shortdate}.txt"
maxArchiveFiles="4"
archiveAboveSize="10240" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="file" />
</rules>
</nlog>
NLog 4.7 (and newer) adds support for the option MaxArchiveDays
. It works like MaxArchiveFiles
but instead inspect the timestamp of the files in the archive. They can be combined. Ex. maxArchiveDays="30" maxArchiveFiles="90"
(Deletes files older than 30 days or if more than 90 files in archive).
If using NLog older than ver. 4.5 (or have very special needs), then also see FileTarget-Archive-Examples
用archiveAboveSize进行处理的话,流程是
1.默认error.log
2.第一次rolling,把error.log重命名为error.1.log,新建error.log
3.第二次rolling,把error.log重命名为error2.log,新建error.log
数字越大的archive,是most recently
FileTarget Archive Examples
NLog ver. 4.5 makes it very easy to perform archive of old files.
But there are many archival options, which allows one to configure the archive logic even further. This can be needed if using NLog older than ver. 4.5.
Most useful NLog configurations [closed]
Tell NLog to watch and automatically reload the configuration if it changes:
<nlog autoReload="true" />
maxArchiveFiles - Maximum number of archive files that should be kept. If maxArchiveFiles is less or equal to 0, old files aren't deleted Integer Default: 0