如何在节点中自动记录请求的上下文

时间:2018-08-26 14:14:34

标签: node.js express logging

我有一个依赖于Express的节点API,该API即将投入生产。为了能够修复错误,我想在记录错误时自动记录请求的上下文。我希望它是自动的,所以我敢肯定我不会忘记自己在代码中的某个地方做它。

此刻,我正在使用中间件生成唯一的请求ID,并通过将请求对象传递给记录器来记录请求信息,如下所示:

// handle error that occurs somewhere in the code
.catch((err) => {
  winston.error(err, req);
});

这就是我想要的:

// handle error that occurs somewhere in the code
.catch((err) => {
  winston.error(err);
});

以及日志中应包含的内容

{
  message: 'something went wrong',
  context: { // <-- I want this property to be added automatically
    requestId: 'ab9bc67',
    params: {
      foo: 'bar'
    },
    body: {}
  }
}

谢谢

0 个答案:

没有答案