.net - 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
推荐阅读
- c# - 如何从 DataRow.ContextMenu 事件中检索 DataRow
- azure - JavaScript HTTP 触发 Azure 功能
- javascript - 如何将参数传递给 Bootstrap 模式?
- javascript - 为什么 Javascript string.replace("\n\t","xxx") 将 "\n\t" 替换为 "\nxxx"?
- python - python实现生产计划调度问题
- python - Python Cerberus:使用“anyof_schema”规则验证不同模式的问题
- keycloak - Keycloak 一次性访问令牌
- scala - 如何知道邮箱是空的以取消存储和发送低优先级消息?
- sql - 在 SQL 中,如何根据开始日期和经过的天数计算一年中的天数
- css - 将 input[type=text] 中的图标放在当前文本的右侧,可能吗?