NLog:将名称中带有日期的日志文件保留 x 天
NLog: Retaining log files with dates in names for x days
我想要一个简单的 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
我想要一个简单的 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