2016-08-03 29 views
0

NLog Version 4.3.6nlog alte Archivdateien werden nicht gelöscht: archiveNumbering = Datum, archiveOldFileOnStartup, maxArchiveFiles

Dieses Ziel ein Logfile im Log-Verzeichnis in dem folgende Format erstellt Trace_2016-08-03.log das Logfile wird beim Start die bewegt Archivverzeichnis mit einem Namen wie Trace_2016-08-03_11h33m32s_743ms.log jedoch alte Archivdateien werden nicht gelöscht (maxArchiveFiles = 2). Kann mir jemand dabei helfen? Ich kann nicht herausfinden, was ich falsch mache.

<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> 

Vielen Dank für Ihre Antworten!

+1

versuchen, dieses Problem zu sehen, auf GitHub umgewandelt wurde : https://github.com/NLog/NLog/issues/309. Es ist alt, aber vielleicht ist dieses Problem noch nicht gelöst. –

+0

@IgorDamiani Dieses Problem sollte gelöst werden. Wenn Sie sich https://github.com/NLog/NLog/issues/643 ansehen – FreeG

Antwort

0

Es gibt 2 Probleme mit dieser Konfiguration.

  1. Der Dateiname (der normalen Protokolldatei) enthält ein Datum. siehe https://github.com/NLog/NLog/issues/354

  2. Das Archiv nicht vorhandenen Archivdateien zu erkennen, wenn archiveDateFormat escapechars wie in meinem Beispiel enthält so yyyy-MM-dd_HH\hmm\mss\s_fff\m\s zu 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" 
        />