node.js - Node.js 的集中错误处理和报告

标签 node.js express exception

我想要一个系统,它可以根据各自发生的错误的严重程度向我发送短信或电子邮件。我已经对这个主题做了一些研究,但我无法简化问题。

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

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

第二是我必须在每个路由中编写相同的代码来进行异常处理。如果有什么东西可以监听主服务器文件中的所有错误,那么我可以轻松地做事。

最佳答案

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

您询问的所有问题都在那里得到了很好的解释。

关于node.js - Node.js 的集中错误处理和报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42345508/

相关文章:

javascript - 用户 session 未在 Node.js 服务器上更新

javascript - 我在使用 Node js 对 dynamoDB 中的表执行更新操作时遇到 ConditionalCheckFailedException

javascript - Express 网络套接字和中央服务器

javascript - express JS : No 'Access-Control-Allow-Origin' header is present on the requested resource

node.js - NodeJS : SOAP API calls without creating soap clients before each SOAP method call

java - MySQL jdbc 驱动程序 ClassNotFoundException : com. mysql.jdbc.Driver

c# - StackOverflowException 未处理 C#

node.js - 哪些错误将由express error 处理,哪些由uncaughtException 错误处理程序处理?

javascript - 如何在没有 session 的情况下将事件添加到谷歌日历API

python - 异常语法中 'or' 的解释,为什么它是有效的语法,它是如何工作的?