【问题标题】:Nlog config: Move older log from Archive folder to some other locationNlog 配置:将旧日志从存档文件夹移动到其他位置
【发布时间】:2020-07-12 22:50:00
【问题描述】:

我已将 Nlog 文件配置为每天归档文件,最大限制为 10000000 字节。最大存档文件数为 200。一旦达到最大限制,将从存档文件夹中删除旧文件。我想在网络上的其他地方保留较旧的日志(4-5 个月),所以不想在最大存档后删除它,而是想移动它。

<target name="file" xsi:type="Iit.AsyncWrapper">
      <target type="File"
            archiveAboveSize="10000000"
            archiveEvery="Day"
            maxArchiveFiles="200"
            archiveNumbering="Rolling"
            archiveFileName = "${logDirectory}/archive/log.{#####}.txt"
            fileName="${logDirectory}/log.txt"
            layout="${longdate}|${level}|${processid}|${threadid}|${message}"
            concurrentWrites="false"
            keepFileOpen="true"
            encoding="iso-8859-2" />
    </target>

一旦达到存档限制,我不想删除旧文件,而是将旧日志文件复制到网络上的另一个位置。 有没有办法在 nlog 中实现相同的目标? 我该如何实施? 任何帮助,将不胜感激。

【问题讨论】:

  • 只有一个支持的存档文件夹,即您在archiveFileName中指定的文件夹。
  • 是的,我知道。并且重复 NLog 只支持一个存档文件夹。您可以将archiveFileName 配置为指向您的网络文件夹,NLog 会将其移至存档位置。
  • 但问题是在最大存档后它会删除旧文件。我希望配置路径中的 log.0199.txt 和所有其他较旧的旧文件移动该新位置,以便我可以拥有超过几年的日志。详情请阅读问题说明

标签: logging nlog archive


【解决方案1】:

你为什么不创建一个批处理文件而不是配置nlog。为此,创建一个批处理文件以在网络上复制新文件。如果超过上述日期,您还可以管理要删除的文件。

【讨论】:

  • 感谢您的回答,我可以做到,但我只在 nlog 中查找内容。由于 nlog 提供配置来执行自动归档和自动清理功能,所以想知道是否有一些配置或方法可以仅通过 nlog 实现它。
  • 尝试 enableFileDelete 配置。按照这个你可以禁用删除github.com/NLog/NLog/wiki/File-target
猜你喜欢
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-05
相关资源
最近更新 更多