首页 > 解决方案 > 如何使用 NLog InternalLogger 的方法写入 NLog 的内部日志文件

问题描述

我正在使用 NLog 登录我的库,并创建了自定义 NLog 目标以将日志条目上传到 Azure 数据资源管理器。但是,如果在将日志上传到 Azure 数据资源管理器时遇到异常,我想在我的本地日志文件中记录一条错误消息。

但是,我不能使用 NLog 的文件目标来记录这个错误,因为再次调用 NLog 的记录 API 我的自定义目标将再次被调用,从而导致无限循环。

因此,我想使用 NLog 的 InternalLogger,它记录到 NLog 的内部日志文件,来记录上传错误。但是,当我使用下面的 InternalLogger 方法时,它不会记录到内部日志文件。

InternalLogger.Error(e, msg);

InternalLogger 类记录在这里

我想知道我是否缺少配置步骤或者无法登录到 NLog 的内部日志文件?

标签: c#nlog

解决方案


这里有教程

总之:

开启内部日志,默认关闭

在配置中(nlog.config)

<nlog internalLogFile="c:\log.txt" internalLogLevel="Trace">

从代码

或从代码:

// set internal log level
InternalLogger.LogLevel = LogLevel.Trace;

// enable internal logging to a file
InternalLogger.LogFile = "c:\\log.txt";

推荐阅读