【问题标题】:Why does Application Insights write Nlog Error as Trace instead of exception?为什么 Application Insights 将 Nlog 错误写为 Trace 而不是异常?
【发布时间】:2019-12-02 14:34:03
【问题描述】:

我正在使用 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 版本。

【问题讨论】:

    标签: c# .net nlog appinsights


    【解决方案1】:

    你正在调用这个方法:

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

    你应该调用这个方法:

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

    试试这样(先放异常对象):

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 2018-07-01
      • 2018-08-18
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      相关资源
      最近更新 更多