2016-08-03 236 views
0

NLogバージョン4.3.6nlog古いアーカイブファイルは削除されません。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

に転換した参照すると、GitHubの上で、この問題を見てみてください:https://github.com/NLog/NLog/issues/309。それは古いですが、おそらくこの問題はまだ解決されていません。 –

+0

@IgorDamianiこの問題は解決する必要があります。 https://github.com/NLog/NLog/issues/643を見ると – FreeG

答えて

0

この設定には2つの問題があります。

  1. fileName(通常のlogFileの)にはDateが含まれています。 archiveDateFormatは私の例のようにescapecharsが含まれている場合、アーカイブは既存のアーカイブファイルが認識されないhttps://github.com/NLog/NLog/issues/354

  2. のでyyyy-MM-dd_HH\hmm\mss\s_fff\m\syyyy-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" 
        /> 
    

関連する問題