如何处理(即logging)调整中的错误

在我们的restify应用程序中,当我们传递一个错误到next ,返回一个通用的500错误,这一切都很好。 不过,我还需要在某处logging错误的详细信息,以便我知道发生了什么事情。

以前,我在一个快速应用程序上工作,而且一个集中的error handling中间件使我们能够在接收到错误时执行任意代码,例如日志logging。

集中logging错误细节的“调整方式”是什么? 我不想在整个应用程序中散布日志logging。

  • 找不到模块dtrace-provider
  • 节点js在一个应用程序中使用express和restify
  • 调整通配符和通配符
  • Node.js,restify和正确的路由
  • 通配符路由
  • 无法通过互联网访问节点服务器
  • 在Restify中pipe理错误
  • req.url不显示完整的url
  • 一旦所有其他路由处理程序完成请求,Restify服务器对象就会发出'after'事件。 你可以把你的日志代码放在'after'事件处理器中:

     var svr = restify.createServer() .get('/hello-world', hello_world_hndlr) .on('after', function (req, resp, route, err) { // logging here }) .listen(SVR_PORT) 

    'after'的另一种方法是听'restifyError'

     server.on('restifyError', (req, res, err, cb) => { req.log.error(err) return cb(); }); 

    我不知道为什么这个没有logging在别处。