节点的集中式错误处理和报告.js



我想拥有一个系统,该系统会根据各自发生的错误的严重性向我发送短信或电子邮件。我已经对这个主题进行了一些研究,但我无法简化问题。

我总的来说,每当我的生产服务器出现问题时,都要获得通知。如果存在严重的问题,这些问题根本没有捕获,我使用了过程的uncaughtException,并且对于通过单独的API调用来调用的特定路线,我可以简单地使用尝试捕获块。

我的第一个问题是我无法直接通过主服务器文件直接处理从不同路由丢弃的错误。

第二是,我必须在每条路线上编写相同的代码以进行例外处理。如果某事只能收听主服务器文件中的所有错误,那么我可以轻松地做事。

您可以在Express中使用错误处理中间件:

app.use(function (err, req, res, next) {
  console.error(err.stack);
  // do whatever you need to send a notification
  res.status(500).send('Internal error');
});

请参阅Express中错误处理的文档:

  • https://expressjs.com/en/guide/error andling.html

您问的一切都很好地解释了。

最新更新