NLog:将名称中包含日期的日志文件保留x天



我想用NLog有一个简单的日志文件方案:用名称中的当前日期创建日志文件,然后保留31天的日志文件。

所以类似于:

2020-11-23.log  <-- Today's date
2020-11-22.log
...
2020-10-24.log
2020-10-23.log  <-- Remove this one as being over 31 days old

这可能吗?

我从阅读文档和各种博客中得到的印象是,对实时日志文件和存档日志文件使用相同的命名方案可能会出现问题。此外,我可能需要将存档的日志文件放在另一个文件夹中(尽管所有提到这一点的博客都已经四年多了,所以我不知道情况是否仍然如此(。然而,这些文档似乎不是很详细,我不确定我读过的博客文章是最新的。

您可以在NLog 4.5:中执行此操作

<target name="file" xsi:type="File"
fileName="${basedir}/logs/App.${shortdate}.txt" 
maxArchiveFiles="31" />

它应该只是工作,除非您开始使用archiveFileName=

NLog 4.7引入了设置maxArchiveDays=,以在使用archiveAboveSize=时提供帮助。

如果您想将静态文件名与archiveFileName=一起使用,那么这里有一些示例:https://github.com/NLog/NLog/wiki/FileTarget-Archive-Examples

相关内容

  • 没有找到相关文章

最新更新