使用hapi将request.url附加到任何记录的错误

时间:2016-10-28 14:10:01

标签: error-handling request hapijs

我正在尝试将所请求的路径添加到NodeJS记录的所有(或大多数,有意义的)服务器错误,这个想法是在查看日志时(在此处插入工具)我能够将NodeJS错误直接关联到request.url

我一直在阅读hapi的文档,但我还没有偶然发现这样做,部分原因是我仍然围绕请求/响应生命周期和插入这个逻辑的最佳位置。我通过将request.url添加为error.url在我的基本控制器类中尝试了一些东西,但似乎没有得到我希望得到的结果。我认为我需要的是一个错误事件处理程序来附加这个额外的错误属性,类似于restify的server.on('restifyError'),是否有类似的hapi?

2 个答案:

答案 0 :(得分:1)

在hapi文档中,它显示了您可以听到的各种事件,就像您的Restify示例一样。如果您看到此link,则会显示您可以收听的事件的名称。

答案 1 :(得分:-1)

我已经得到了以下内容来做我想要的事情,尽管到目前为止它似乎只能解决500个错误。

server.on('request-error', function (request, err) {
  console.log('Error response (500) sent for request: ' +
    request.id + ', at: ' + request.url.path + ', because: ' +
    (err.trace || err.stack || err));
});