首页 > 解决方案 > 使用 NodeJS SDK 引发错误时,如何在 Application Insights 中设置异常类型?

问题描述

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

在此处输入图像描述

查看源代码似乎设置错误的name属性应该设置它,但是没有区别。

在此处输入图像描述

我尝试发送以下内容,但它没有记录为 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 版

有任何想法吗?

标签: node.jsazure-application-insights

解决方案


它应该让您更改异常类型以及您如何完成它似乎是正确的。我将您的示例稍微修改为独立的,如下所示。

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 });


推荐阅读