为什么 Application Insights 将 Nlog Error 写为 Trace 而不是异常?
Why does Application Insights write Nlog Error as Trace instead of exception?
我正在使用 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 版本。
您正在调用此方法:
Logger.Error(string format, object[] params);
你应该调用这个方法:
Logger.Error(Exception ex, string format, object[] params);
尝试这样做(将异常对象放在第一位):
_logger.Error(ex, "Error parsing");
我正在使用 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 版本。
您正在调用此方法:
Logger.Error(string format, object[] params);
你应该调用这个方法:
Logger.Error(Exception ex, string format, object[] params);
尝试这样做(将异常对象放在第一位):
_logger.Error(ex, "Error parsing");