如何捕获和保存stradi中的所有错误?

时间:2019-09-22 12:15:27

标签: node.js middleware koa sentry strapi

我正在尝试将我的bandi应用程序与哨兵集成在一起,为此我需要编写一个中间件。使用以下文档:https://strapi.io/documentation/3.0.0-beta.x/advanced/middlewares.html我可以使用以下内容创建自定义中间件:

module.exports = strapi => {
  return {
    initialize() {
      strapi.app.use(async (ctx, next) => {
        try {
          await next();
        } catch (error) {
          Sentry.captureException(error)
        }

      });
    }
  };
};

但是,这样做可以防止trapi以常规方式打印出错误以进行控制台处理,但错误是由哨兵应用程序捕获的。

所以,我的问题是:我如何“无缝”捕获错误并将其发送给第三方应用程序,同时又不妨碍Stradi的默认功能和错误记录进行控制台。

任何帮助将不胜感激!

谢谢:)

编辑:我发现,在此文件中指出的所有“错误”错误都可以通过“繁荣”中间件访问:https://github.com/strapi/strapi/blob/6309af25c921640cb76aeeda463e55db1eb53ef1/packages/strapi/lib/middlewares/boom/index.js#L69

1 个答案:

答案 0 :(得分:0)

作者在这里给出了答案:https://github.com/strapi/strapi/issues/4071