Nlog 无法将当天的最后一个文件识别为存档
Posted
技术标签:
【中文标题】Nlog 无法将当天的最后一个文件识别为存档【英文标题】:Nlog does not recognize last file of the day as archive 【发布时间】:2015-09-18 20:43:56 【问题描述】:使用 nlog,我想每小时创建一个存档文件,并将存档文件保存一周。我正在使用 nlog 归档功能,archiveEvery 设置为“Hour”,maxArchiveFiles 设置为“168”。
<target xsi:type="File"
name="fileLog"
fileName="D:\EventLogs\Logs\MyLog_$shortdate.log"
layout="$longdate $uppercase:$level $message"
archiveFileName="D:\EventLogs\Logs\MyLog.#.log"
archiveEvery="Hour"
archiveNumbering="Date"
archiveDateFormat="yyyyMMdd hh.mm"
maxArchiveFiles="168"
keepFileOpen="false"
/>
除了当天的最后一个文件没有被识别为存档之外,这有效,它只是保留其原始文件名并且永远不会被删除。为什么这只发生在当天的最后一个文件上?
【问题讨论】:
【参考方案1】:我可以通过从文件名中删除 $shortdate 来解决此问题。我现在看到,当新的一天发生变化时,正在创建一个新文件,然后文件将被 nlog 存档。
<target xsi:type="File"
name="fileLog"
fileName="D:\EventLogs\Logs\MyLog.log"
layout="$longdate $uppercase:$level $message"
archiveFileName="D:\EventLogs\Logs\MyLog.#.log"
archiveEvery="Hour"
archiveNumbering="Date"
archiveDateFormat="yyyyMMdd hh.mm"
maxArchiveFiles="168"
keepFileOpen="false"
/>
【讨论】:
谢谢你这已经结束了一个小时的挫折。以上是关于Nlog 无法将当天的最后一个文件识别为存档的主要内容,如果未能解决你的问题,请参考以下文章