gpt4 book ai didi

javascript - 为什么我的 azure 函数未在 Application Insights 中记录错误?

转载 作者:行者123 更新时间:2023-12-03 06:10:00 24 4
gpt4 key购买 nike

我的函数工作正常,但是当我尝试处理错误并使用“context.error”记录它们时,它们不会被发送到Applications Insights,只有请求被注册。 “context.error”不应该将错误直接记录到 App Insights 中吗?我错过了什么吗?

这是我的错误处理函数:

module.exports = function handleError(context, error) {
context.error(error);

let isInternalError = error.statusCode === 500 || error.code === 500 || typeof error.code !== "number";
let status = isInternalError ? 500 : error.statusCode || error.code || 500;
let errorMessage = error.message;
let errorsList = [];

if (error.name === "ValidationError") {
isInternalError = false;
status = 400;
errorsList = Object.keys(error.errors).map(key => error.errors[key].message);
errorMessage = "Validation Error";
}

return {
status,
jsonBody: {
errorMessage: isInternalError ? 'Internal Server Error' : errorMessage,
errorsList,
errorStack: process.env.ENVIRONMENT !== "prod" ? error.stack : undefined
}
};
}

谢谢!

最佳答案

Shouldn't the "context.error" log the error straight to App Insights?

在调用context.error方法之前,您需要初始化遥测客户端。可以引用这个Ms Docs获取信息。

为了在 Application Insights 中记录错误,我在您的现有代码中添加了以下代码行。

const  appInsights  =  require("applicationinsights");
appInsights.setup(process.env.APPLICATIONINSIGHTS_CONNECTION_STRING).start();
module.exports = function handleError(context) {
appInsights.defaultClient.trackException({ exception: error });
context.error(error);

输出:

enter image description here

我也可以在应用程序洞察中看到日志

enter image description here

关于javascript - 为什么我的 azure 函数未在 Application Insights 中记录错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76917755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com