集中式错误处理&报告node.js

时间:2017-02-20 13:12:15

标签: node.js express exception-handling

我希望系统能够根据相应事件的严重程度向我发送短信或电子邮件。我已就这个问题做过一些研究,但我无法简化问题。

总而言之,我的最终目标是在生产服务器出现问题时收到通知。如果没有发现任何严重问题,我使用了进程的uncaughtException,对于通过单独的API调用调用的特定路由,我可以简单地使用try catch块。

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

其次是我必须在每个路由中编写相同类型的代码以进行异常处理。如果某些东西只能听取主服务器文件中的所有错误,那么我可以轻松地做事。

1 个答案:

答案 0 :(得分:0)

您可以在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中错误处理的文档:

你所询问的一切都在那里得到了很好的解释。