如何强制 NLog 覆盖日志文件

Posted

技术标签:

【中文标题】如何强制 NLog 覆盖日志文件【英文标题】:How to force NLog to overwrite the log file 【发布时间】:2012-11-16 14:21:08 【问题描述】:

我需要 NLog 在应用程序重新启动时覆盖日志文件。目前它附加到现有文件。 例如,我的 NLog.config 中有类似的内容

<targets>
  <target xsi:type="File" name="fileLog" 
          fileName="$longdate.log" layout="$message" />
</targets>

如果我能够添加到 &lt;target&gt; 类似 append="false" 这样的内容会很好,而不是附加到现有日志,它会覆盖。

【问题讨论】:

【参考方案1】:

替换你的配置部分

<targets>
  <target xsi:type="File" name="fileLog" 
          fileName="$longdate.log" layout="$message" deleteOldFileOnStartup="true"/>
</targets>

【讨论】:

deleteOldFileOnStartup 仅在“FileName”参数表示单个文件时有效。就我而言,它是 fileNmae="$longdate.log"。在这种情况下,它不起作用。但是,对于我的应用程序。我可以更改日志文件的名称,这个解决方案对我有用。加 1,我会接受你的回答。 文件多久被删除一次,基于什么,一天,一个月,文件大小?

以上是关于如何强制 NLog 覆盖日志文件的主要内容,如果未能解决你的问题,请参考以下文章

NLog 基于静态变量创建日志文件

NLog 不创建日志文件

ASP.NET Core 使用NLog打印html格式日志

Nlog - Web.config 规则 - 仅用于 Global.asax 文件的日志文件?

NLog 不会删除旧文件

NLog日志框架使用探究