【发布时间】:2019-11-18 21:40:43
【问题描述】:
这可能很简单,但我在任何地方都找不到。如何使用 NLog 清除日志文件的内容?我已经创建了 Logger 对象并且可以成功地向它写入消息,但是现在我想以编程方式删除文件的内容,或者可能是特定日期/时间之前的所有内容。我该怎么做?
请注意,我没有进行任何类型的归档(带有时间戳文件名的日志文件)。只有一个日志文件,并且该文件中的消息带有时间戳,因此我需要以编程方式访问文件内容以删除条目/清除整个文件。因此,建议使用 NLog 配置选项来处理自动存档/删除的 SO 帖子在我的情况下不起作用。
【问题讨论】:
-
@pGauR:谢谢,但这并不能解决手头的问题。请查看我的编辑。
-
您可以使用 FileTarget 属性
deleteOldFileOnStartup,然后将新配置分配给LogManager.Configuration。这将导致 NLog 在分配新配置后在下一次写入操作时删除文件。另见github.com/nlog/NLog/wiki/File-target -
@RolfKristensen:谢谢。如果我想以编程方式删除直到特定日期/时间的日志条目怎么办?
-
@dotNET NLog 只能附加到文件、移动文件或删除文件。如果你想让 NLog 处理你的文件逻辑,那么用这些操作来解决你的问题。也许为每个会话创建一个唯一的文件,并从以前的会话中清理文件。
标签: nlog