NLog日志文件未被压缩但被删除

时间:2017-03-15 04:31:38

标签: c# logging nlog nlog-configuration

我正在尝试压缩和存档旧日志。我为此目的使用了以下目标。

<target name="PluginError" xsi:type="File" 
        layout="${longdate}${message}${exception:format=tostring}" 
        fileName="${basedir}/logs/Plugin/Error/${date:format=yyyy-MM-dd}.log" 
        archiveAboveSize="2000000" 
        archiveNumbering="Rolling" 
        maxArchiveFiles="10"  
        archiveFileName="${basedir}/logs/Plugin/Error/log.{#}.txt"             
        archiveEvery="Day"
        enableArchiveFileCompression="true"/>

但是当count超过3而不是压缩它们并归档它们时,这会删除旧的日志文件。我使用的是NLog dll版本4.4.4090.0。我在这做错了什么?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您指定的配置将确保:

  • maxArchiveFiles =&#34; 10&#34; - 存档文件夹中最多10个文件。
  • archiveEvery =&#34; Day&#34; - 每天将当前日志文件移至archive-folder。
  • archiveAboveSize =&#34; 2000000&#34; - 如果当前日志文件超过2 MB,则会将其移动到archive-folder。
  • archiveNumbering =&#34; Rolling&#34; - 确保最低编号(0)是最新文件。
  • archiveFileName =&#34; $ {basedir} / logs / Plugin / Error / log。{#}。txt&#34; - 将从日志重命名当前日志文件.0.txt log.9.txt
  • enableArchiveFileCompression =&#34; true&#34; - 将使用ZIP格式压缩每个单独的文件。考虑更改 archiveFileName 以使ZIP扩展名符合此决定。

如果行为有所不同,请尝试将 archiveEvery 更改为分钟。如果它仍然只在archive-folder中有3个文件,那么请告诉我。另外我认为一些预定任务正在清理档案文件夹(或者你有几个指向同一文件夹的NLog文件目标?)。

也许还要检查Error-folder中是否有与通配符匹配的文件 log * .txt

答案 1 :(得分:0)

我认为你错过了

{{1}}

你可以使用这个nlog配置工作正常http://nlog-project.org/2015/06/09/nlog-4-has-been-released.html

{{1}}