在nodejs中对AWS lambda发出请求时不会发送异常

问题描述 投票:2回答:2

我正在尝试在AWS Lambda(nodejs 8.10)上配置哨兵,但不会将异常发送到Sentry。我觉得这是时间问题:在将数据发送到哨兵之前,lambda已终止。

哪种方法是在AWS Lambda上集成哨兵的正确方法?

谢谢!

node.js aws-lambda sentry
2个回答
7
投票

您必须使用函数flush来确保将发送当前排队的所有事件:

Sentry.captureException(new Error('test'));
await Sentry.flush();

http://getsentry.github.io/sentry-javascript/modules/node.html#flush


0
投票

安装哨兵/节点

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");
  }
© www.soinside.com 2019 - 2024. All rights reserved.