如何使用NLog InternalLogger的方法写入NLog的内部日志文件

use*_*567 5 c# nlog

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

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

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

InternalLogger.Error(e, msg);
Run Code Online (Sandbox Code Playgroud)

InternalLogger 类记录在此处

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

Jul*_*ian 8

这里有一个教程

总之:

启用内部日志,默认禁用

在配置中(nlog.config)

<nlog internalLogFile="c:\log.txt" internalLogLevel="Trace">
Run Code Online (Sandbox Code Playgroud)

来自代码

或者从代码:

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

// enable internal logging to a file
InternalLogger.LogFile = "c:\\log.txt";
Run Code Online (Sandbox Code Playgroud)