NLog:存档和删除文件

NLog: Archive and delete file

我正在尝试配置 NLog 以存档和删除旧日志文件。 我想做的是将文件存储在存档文件夹中,并删除超过5天的文件。

我正在使用这个配置:

<variable name="logDirectory" value="${basedir}\logs"/>

 <targets>
   <target name="logfile" xsi:type="File" fileName="${logDirectory}\MyApp_${shortdate}.log"
           layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring,StackTrace}${newline}"
           maxArchiveFiles="5"
           archiveFileName="${logDirectory}\archive\MyApp-bkp_${shortdate}-{#}.log"
           archiveNumbering="Date" 
           archiveEvery="Day"
           archiveOldFileOnStartup="true"
           deleteOldFileOnStartup="true"           
   />

   <target name="logconsole" xsi:type="Console" />
 </targets>

但是这个配置对日志文件没有影响。

我的配置有什么问题?

提前致谢

如果您删除 ${shortdate} 那么它将起作用:

   <target name="logfile" xsi:type="File" fileName="${logDirectory}\MyApp.log"
           layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring,StackTrace}${newline}"
           maxArchiveFiles="5"
           archiveFileName="${logDirectory}\archive\MyApp-bkp_{#}.log"
           archiveNumbering="Date" 
           archiveEvery="Day"
           archiveOldFileOnStartup="true" />

另请参阅:https://github.com/NLog/NLog/wiki/FileTarget-Archive-Examples#archive-file-in-new-folder