我的应用程序有很多自定义错误类型,它们是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版本
有什么想法吗?
答案 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
对不起,我没有任何带有良好示例的仓库,因为我选择不再使用按类型输入的错误。