c# - 如何使用 NLog InternalLogger 的方法写入 NLog 的内部日志文件
问题描述
我正在使用 NLog 登录我的库,并创建了自定义 NLog 目标以将日志条目上传到 Azure 数据资源管理器。但是,如果在将日志上传到 Azure 数据资源管理器时遇到异常,我想在我的本地日志文件中记录一条错误消息。
但是,我不能使用 NLog 的文件目标来记录这个错误,因为再次调用 NLog 的记录 API 我的自定义目标将再次被调用,从而导致无限循环。
因此,我想使用 NLog 的 InternalLogger,它记录到 NLog 的内部日志文件,来记录上传错误。但是,当我使用下面的 InternalLogger 方法时,它不会记录到内部日志文件。
InternalLogger.Error(e, msg);
InternalLogger 类记录在这里
我想知道我是否缺少配置步骤或者无法登录到 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";
推荐阅读
- php - 佳能打印机在使用 fsockopen() 连接到网络上的打印机时不打印 RAW
- google-apps-script - 如何通过使用应用程序脚本根据“未知”条件进行过滤来从谷歌驱动器获取文件?
- laravel - vue router-view 没有出现任何东西
- docker - docker-compose.yml 卷未安装到目标容器
- javascript - div标签中的node.js base64编码图表ex)highchart,amchart
- java - 在 ResultSet Postgres 中找不到创建的列名
- jquery - click 被识别为双击 jquery
- android - 为什么会出现此错误,我该如何解决?
- ios - 如何检查用户电子邮件是否已验证?
- python - 当前 AWS 身份不是角色:arn:aws:iam::XXXXXXXXXXX:root,因此不能用作 SageMaker 执行角色