我在我的库中使用NLog进行日志记录,并创建了自定义的NLog Target以将日志条目上传到Azure Data Explorer。然而,如果在上传日志到Azure Data Explorer时遇到异常,我希望在本地日志文件中记录错误消息。
但是,我不能使用NLog的File Target进行此错误日志记录,因为再次调用NLog的logging API会再次调用我的自定义Target,从而导致无限循环。
因此,我想使用NLog的InternalLogger(记录到NLog的内部日志文件)来记录上传错误。但是,当我使用下面的InternalLogger方法时,它不会记录到内部日志文件中。
但是,我不能使用NLog的File Target进行此错误日志记录,因为再次调用NLog的logging API会再次调用我的自定义Target,从而导致无限循环。
因此,我想使用NLog的InternalLogger(记录到NLog的内部日志文件)来记录上传错误。但是,当我使用下面的InternalLogger方法时,它不会记录到内部日志文件中。
InternalLogger.Error(e, msg);
InternalLogger类的文档在这里
我想知道是否有配置步骤我错过了,或者将日志记录到NLog的内部日志文件是不可能的?
InternalLogger.LogLevel
(作为最低级别)分配一个值,并且还需要为InternalLogger.LogFile
分配一个文件名。详见https://github.com/NLog/NLog/wiki/Internal-Logging - Rolf Kristensen