NLog 2.0.1 每日归档日志文件

Posted

技术标签:

【中文标题】NLog 2.0.1 每日归档日志文件【英文标题】:NLog 2.0.1 Daily Archiving of log files 【发布时间】:2015-08-25 09:30:12 【问题描述】:

我一直在努力让我的日志记录正常工作,以便我可以将每日日志存档 2 周。

通过查看官方文档和this question,我已将以下内容添加到我的 NLog.config 文件目标中

<target name="file"
        xsi:type="File"
        fileName="$basedir/../logs/$shortdate.log"
        archiveFileName="$basedir/../logs/archive/archive.$shortdate.#.txt"
        archiveEvery="Day"
        archiveNumbering="Rolling"
        maxArchiveFiles="14" />

我的理解是,这应该在检测到新的一天时,在存档文件夹中创建 archive.$shortdate.#.txt 文件。

我实际看到的是,预期的每一天都会生成一个新的日志文件,但从未发生存档。

我是不是配置错了,或者你需要做些不同的事情才能让它与 NLog 2.0.1 一起工作

请注意,我只是手动更改了计算机的日期设置,我正在测试这个,尽管我已经让它运行了一夜,但仍然没有任何存档。

编辑: 如果我根据文件大小将目标更改为存档,我已经能够进行一些存档工作,如下所示:

<target name="file"
        xsi:type="File"
        fileName="$basedir/../logs/$shortdate.log"
        archiveFileName="$basedir/../logs/archive/archive.$shortdate.#.txt"
        archiveAboveSize="51200"
        archiveNumbering="Rolling"
        maxArchiveFiles="14" />

所以在归档当天似乎有问题

【问题讨论】:

修复了很多关于文件归档的错误。 4.0 已经发布了几个星期,4.1 RC 也在 nuget 上。 NLog 2.0 是从 2011 年开始的。你应该在升级后检查一下。 我的经历与@Julian 描述的一样。 2.* 归档有问题。我今天升级到 4.2.3,一切正常。 【参考方案1】:

我在尝试寻找类似问题的解决方案时偶然发现了这一点。我知道现在回答有点晚了,但也许它会帮助别人。

我认为问题在于您将归档设置为每天,但您还使用日期命名了日志。

这意味着每天都会创建一个新日志,因此当前日志永远不会超过一天,这意味着永远不会有任何要归档的内容。

如果您更改日志名称,它应该可以工作,或者您可以将归档间隔更改为更短的时间,例如小时

【讨论】:

以上是关于NLog 2.0.1 每日归档日志文件的主要内容,如果未能解决你的问题,请参考以下文章

Nlog 动态文件名归档不起作用

NLog 旋转和清理日志文件

ORACLE如何删除归档日志文件?

Oracle归档日志

oracle归档日志大小显示为0啥意思

linux oracle归档日志文件路径修改