如何扩展AppInsights JavaScript SDK错误日志记录以进行分类

时间:2019-02-08 20:17:00

标签: javascript azure-application-insights

我们将应用程序见解与我们的前端角度应用程序挂钩。在应用程序见解中记录的所有错误都是[object object][object ErrorNode]或其他对象toString()表示形式的某种形式。

我发现这篇文章https://github.com/Microsoft/ApplicationInsights-JS/wiki/FAQ#im-seeing-a-lot-of-uncaught-object-object-errors-in-application-insights-in-azure-portal表示JS SDK假定错误具有message属性,如果没有,则它将错误化为字符串,这通常会导致无用的表示形式。文章和链接的文章指出这是正确的,但没有提供任何更改或解决此行为的方法。我们宁愿使用JSON.stringify错误而不是错误的toString,或者允许其指定格式化程序,该格式化程序可以采用未知的错误类型并将其扩展为所需的格式。 https://github.com/Microsoft/ApplicationInsights-JS/issues/363在这里甚至有一段时间已经公开了一个问题。

我们正在考虑添加另一个window.onerror回调,以查找这些类型的错误,并使用错误节点的自定义扩展将跟踪发送给应用程序见解。但是,这将与原始请求无关,而只是相邻错误。我们需要处理没有message属性而引发错误的依赖项失败和非依赖项失败。

1 个答案:

答案 0 :(得分:0)

您必须禁用对异常的自动跟踪(请参见aiConfig.disableExceptionTracking),而要自己进行跟踪。据我所知,默认联播如何发生的代码在_onerror method的GitHub存储库中。

更好的是,您可以在ApplicationInsights-js GitHub repo中解决此问题,并且实际上可以将更改回馈给sdk,以便每个人都可以受益?

但最好将其发布到GitHub存储库中以获取有关应用程序见解javascript sdk的信息:

https://github.com/Microsoft/ApplicationInsights-js/issues