2016-08-03 96 views
0

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> 

謝謝任何​​答案!

+1

嘗試escapechars看到GitHub上這個問題:https://github.com/NLog/NLog/issues/309。這是舊的,但也許這個問題尚未解決。 –

+0

@IgorDamiani應該解決這個問題。如果你看看https://github.com/NLog/NLog/issues/643 – FreeG

回答

0

這個配置有兩個問題。

  1. fileName(正常logFile的)包含日期。 看到https://github.com/NLog/NLog/issues/354

  2. 歸檔無法識別現有的檔案文件時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" 
        />