我正在使用 NLog 登录我的库,并且创建了自定义 NLog 目标以将日志条目上传到 Azure 数据资源管理器。但是,如果将日志上传到 Azure 数据资源管理器时遇到异常,我想在本地日志文件中记录错误消息。
但是,我无法使用 NLog 的文件目标来记录此错误,因为再次调用 NLog 的日志记录 API 时,我的自定义目标将再次被调用,从而导致无限循环。
因此,我想使用NLog的InternalLogger,它记录到NLog的内部日志文件中,来记录上传错误。但是,当我使用下面的 InternalLogger 方法时,它不会记录到内部日志文件。
InternalLogger.Error(e, msg);
InternalLogger 类记录在此处
我想知道是否缺少配置步骤或者无法记录到 NLog 的内部日志文件?
这里有一个教程
总之:
启用内部日志,默认禁用
<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";