【问题标题】:NLog is not deleting old filesNLog 不会删除旧文件
【发布时间】:2021-12-01 19:11:46
【问题描述】:

我有下面的 NLog (4.7.11) 配置,它每天或当文件长满时都会创建一个新的日志文件。问题:它根本没有删除旧文件,所以现在日志文件夹充满了数周前的日志文件。您能否提出问题所在以及如何使其发挥作用?

<target name="appLogFile" type="File"
 fileName="d:\my_logs\nlog_test-${date:format=yyyy-MM-dd}.log"
 archiveFileName="d:\my_logs\nlog_test-{#}.log" 
 archiveAboveSize="104857600" archiveNumbering="DateAndSequence" archiveDateFormat="yyyy-MM-dd"
 maxArchiveFiles="2" maxArchiveDays="2"
 openFileCacheTimeout="30" concurrentWrites="True" keepFileOpen="True" createDirs="True"
 layout="${date:format=yyy-MM-dd HH\:mm\:ss.fff K} ${message}" />

【问题讨论】:

    标签: nlog


    【解决方案1】:

    问题看起来像,您每天登录不同的文件,因为文件名是使用当前日期创建的。第二天,对新文件进行记录。如果当前文件没有发生替换,则在达到最大大小之前不会创建存档。

    请尝试以下配置,

    <target name="appLogFile" type="File"
     fileName="d:\my_logs\nlog_test.log"
     archiveFileName="d:\my_logs\archives\nlog_test-{#}.log" 
     archiveAboveSize="104857600" archiveNumbering="DateAndSequence" archiveDateFormat="yyyy-MM-dd"
     maxArchiveFiles="2" maxArchiveDays="2"
     openFileCacheTimeout="30" concurrentWrites="True" keepFileOpen="True" createDirs="True"
     layout="${date:format=yyy-MM-dd HH\:mm\:ss.fff K} ${message}" />
    

    【讨论】:

    • 好吧,为什么归档进程没有启动是有道理的,而且它似乎只会删除带有 *..log 后缀的文件。请注意您的配置会在日志文件上产生不同的时间(和顺序)标记。我最初想避免过多的重命名,因为我们的文件被 Splunk Monitor 使用,但幸运的是,它似乎可以顺利处理文件翻转。因此,基于此,我接受您的回答。
    • 是的,你是对的。另外,在我的配置中 archiveNumbering="DateAndSequence" 和 archiveDateFormat="yyyy-MM-dd" 也不需要。我在复制时错误添加的。布局可以稍微改变一下。
    【解决方案2】:

    NLog 4.5(和更新的版本)使得使用动态布局进行文件归档变得容易:

    <target name="appLogFile" type="File"
     fileName="d:\my_logs\nlog_test-${date:format=yyyy-MM-dd}.log"
     archiveAboveSize="104857600"
     maxArchiveFiles="2" maxArchiveDays="2"
     openFileCacheTimeout="30" concurrentWrites="True" keepFileOpen="True"
     layout="${date:format=yyy-MM-dd HH\:mm\:ss.fff K} ${message}" />
    

    通过删除archiveFileName + archiveNumbering + archiveDateFormat

    另请参阅:https://github.com/NLog/NLog/wiki/File-target#archive-old-log-files

    另见:https://github.com/NLog/NLog/wiki/File-target#dynamic-vs-static-archive-logic

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 2012-12-16
      • 2021-10-09
      • 1970-01-01
      相关资源
      最近更新 更多