n日志旧存档文件不会被删除:archiveNumbering =日期,archiveOldFileOnStartup,maxArchiveFiles
问题描述:
NLOG版本4.3.6n日志旧存档文件不会被删除:archiveNumbering =日期,archiveOldFileOnStartup,maxArchiveFiles
这一目标创造了以下列格式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>
谢谢任何答案!
答
这个配置有两个问题。
fileName(正常logFile的)包含日期。 看到https://github.com/NLog/NLog/issues/354
-
归档无法识别现有的档案文件时archiveDateFormat包含像在我的例子所以
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" />
尝试escapechars看到GitHub上这个问题:https://github.com/NLog/NLog/issues/309。这是旧的,但也许这个问题尚未解决。 –
@IgorDamiani应该解决这个问题。如果你看看https://github.com/NLog/NLog/issues/643 – FreeG