使用NodeJS SDK引发错误时,如何在Application Insights中设置异常类型?

时间:2019-03-22 21:25:02

标签: node.js azure-application-insights

我的应用程序有很多自定义错误类型,它们是Error的子类。 Application Insights将异常类型记录在门户中,但到目前为止,尽管我只能使它显示该类型的通用“错误”。

enter image description here

从源头看,设置错误的name属性似乎应该对此进行设置,但这没什么区别。

enter image description here

我尝试发送以下内容,但没有记录为MyError,

class MyError extends Error {
  constructor (msg) {
    super(msg)
    this.name = 'MyError'
  }
}

const error = new MyError('some message')

client.trackException({ exception: error, properties: { correlationId } })

我正在使用Azure NodeJS SDK的1.2.0版本

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

它应该让您更改异常类型,以及如何完成它似乎是正确的。我对您的示例进行了少许修改,使其独立,如下所示。

const appInsights = require('applicationinsights');
appInsights.setup('ikey')
  .setInternalLogging(true, true)
  .start();
appInsights.defaultClient.config.maxBatchSize = 1;

class MyError extends Error {
  constructor (msg) {
    super(msg)
    this.name = 'MyError'
  }
}

const error = new MyError('some message')

appInsights.defaultClient.trackException({ exception: error });

答案 1 :(得分:0)

根据执行上下文,错误的处理方式有所不同。没有真正的标准。以前,我在mozilla页面中找到了有用的帮助:Error management

对不起,我没有任何带有良好示例的仓库,因为我选择不再使用按类型输入的错误。