c# - 为什么 Application Insights 将 Nlog Error 写入 Trace 而不是异常?

标签 c# .net nlog appinsights

我正在使用 Microsoft.ApplicationInsights.NlogTarget 将指标从我的 .Net Framework 4.7 控制台应用程序发送到应用程序见解,并使用 NLog 作为日志记录框架。

所有数据都发送正常,但我使用 _logger.Error("message", ex) 记录的异常未设置为执行,而是设置为跟踪。这使得仪表板的制作和通常的日志查找变得复杂。

有什么想法为什么这不记录为异常,而是记录为跟踪吗?

示例代码:

try {
  string input = "ThisShouldThrow";
  JObject jsonObject = JObject.Parse(input);
  var activity = jsonObject["DoesnotExist"].ToObject<List<SomeClass>>();
}
catch (Exception ex) {
  _logger.Error("Error parsing:", ex);
}

为 Nlog 和应用洞察安装了最新的 nuget 版本。

enter image description here

最佳答案

您正在调用此方法:

Logger.Error(string format, object[] params);

您应该调用此方法:

Logger.Error(Exception ex, string format, object[] params);

尝试这样做(首先放置异常对象):

_logger.Error(ex, "Error parsing");

关于c# - 为什么 Application Insights 将 Nlog Error 写入 Trace 而不是异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59141095/

相关文章:

c# - 在 RichTextBox 中显示 NLog 跟踪

c# - 使用 NLog 在 ASP.NET Core 中记录异常

c# - 当我在 sql server 或 oracle 中运行 havey 查询时如何增加 progressBar?

c# - 在 MessageBox show 方法中显示错误列表

c# - 由于字符串是不可变的,具有相同字符串值的变量是否指向同一个字符串对象?

c# - 什么是 WCF RIA 服务?

c# - 这是我最后一次尝试理解异步等待。我对么?

c# - 使用 Entity Framework 日志重定向到 NLog 时性能下降

c# - 出于分析目的写入和读取大文件

c# - 每个表单/其他字符串仅使用 1 个资源文件而不是 1 个资源文件