NLog版本4.3.6
此目标在日志目录中以以下格式创建日志文件Trace_2016-08-03.log
日志文件在启动时移动到名称为Trace_2016-08-03_11h33m32s_743ms.log
的归档目录,但旧的归档文件不会被删除(maxArchiveFiles = 2)。任何人都可以帮我这个。我无法弄清楚我做错了什么。
<target name="AsyncTrace" xsi:type="AsyncWrapper">
<target name="TraceFile" xsi:type="File"
layout="${time} ${level} ${message} ${exception:format=tostring}"
fileName="${localLogHome}/Trace_${shortDate}.log"
archiveFileName="${localLogHome}/Archive/Trace_{#}.log"
archiveNumbering="Date"
archiveDateFormat="yyyy-MM-dd_HH\hmm\mss\s_fff\m\s"
archiveOldFileOnStartup="true"
maxArchiveFiles="2"
/>
</target>
感谢您的回答!
答案 0 :(得分:0)
此配置存在2个问题。
fileName(普通logFile)包含Date。 见https://github.com/NLog/NLog/issues/354
当archiveDateFormat包含我的示例中的escapechars时,归档无法识别现有归档文件,因此yyyy-MM-dd_HH\hmm\mss\s_fff\m\s
已转换为yyyy-MM-dd_HH.mm.ss
<target name="AsyncTrace" xsi:type="AsyncWrapper">
<target name="TraceFile" xsi:type="File"
layout="${time} ${level} ${message} ${exception:format=tostring}"
fileName="${localLogHome}/Trace.log"
archiveFileName="${localLogHome}/Archive/Trace_{#}.log"
archiveNumbering="Date"
archiveDateFormat="yyyy-MM-dd_HH.mm.ss"
archiveOldFileOnStartup="true"
maxArchiveFiles="1"
/>