我正在尝试在AWS Lambda(nodejs 8.10)上配置哨兵,但不会将异常发送到Sentry。我觉得这是时间问题:在将数据发送到哨兵之前,lambda已终止。
哪种方法是在AWS Lambda上集成哨兵的正确方法?
谢谢!
您必须使用函数flush
来确保将发送当前排队的所有事件:
Sentry.captureException(new Error('test'));
await Sentry.flush();
http://getsentry.github.io/sentry-javascript/modules/node.html#flush
安装哨兵/节点
npm i @sentry/node
将此代码添加到您的lambda顶部
const Sentry = require("@sentry/node");
Sentry.init({
dsn: "https://0dc9558ffb934657b6c3b97182b4338d@sentry.io/182963" // your_dsn_key_here
});
使用哨兵对象
try {
//Logic here
} catch (error) {
Sentry.captureException("Error on getLogsById");
}