Как установить тип исключения в Application Insights при возникновении ошибки с помощью NodeJS SDK? - PullRequest
1 голос
/ 23 марта 2019

Мое приложение имеет множество пользовательских типов ошибок, которые являются подклассами ошибок. 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 } })

Я использую версию 1.2.0 пакета Azure NodeJS SDK

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 24 марта 2019

это должно позволить вам изменить тип исключения и то, как вы это сделали, кажется правильным. Я немного изменил ваш пример, чтобы он был автономным, как показано ниже.

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 });
0 голосов
/ 23 марта 2019

В зависимости от контекста выполнения ошибки обрабатываются по-разному. Там нет реального стандарта об этом. Ранее я нашел полезную помощь на страницах Mozilla: Управление ошибками

Извините, у меня нет репозитория с хорошо написанным примером, поскольку я решил больше не использовать типизированные ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...