NodeJS-日志记录-日志记录中的请求或堆栈号

时间:2019-10-01 11:21:25

标签: javascript node.js logging stack

有2个请求到达nodejs。两者都阻止了请求。

我想使用请求号登录,但找不到提供请求号的任何方法

每个请求调用功能和功能都具有用于调试数据和数据库响应的日志。

- (async) Authenticate Customer ID (function: async checkCumber()) (is Active, is Paid)
  - (async) Get Customer By Id (function: async getCustomer())
     - (async) Get Customer Vehicle by Customer Id (function: async getVehicleByCustomerId())
        - (async) Get Vehicle Details by Vehicle Id (function: async getVehicleByVehicleId())

这是两个请求的console.log()的输出。

  

客户验证的客户ID“ C2”(此日志来自request-1)

     

从数据库中找到客户详细信息(此日志来自request-1)

     

客户验证的客户ID“ C4”(此日志来自request-2)

     

找到客户2的车辆(此记录来自request-1)

     

从数据库中找到的客户详细信息(此日志来自request-2)

     

找到车辆详细信息(此日志来自request-1)

     

找到客户2的车辆(此日志来自request-2)

     

找到车辆详细信息(此日志来自request-2)

我想要

这样的日志
  

请求55:客户验证的客户ID“ C2”

     

请求55:从数据库中找到客户详细信息

     

请求56:客户验证的客户ID“ C4”

     

请求55:找到客户2的车辆

     

请求56:从数据库中找到客户详细信息

     

请求55:找到车辆详细信息

     

请求56:找到客户1辆车

     

请求56:找到车辆详细信息

通常,我们使用Java代码在日志中写入线程号,以便在生产中获取日志时易于跟踪问题并调试代码。

如果有任何建议给我的工具或npm软件包,这会给我我想要的日志输出。

1 个答案:

答案 0 :(得分:1)

您可以进入continuation-local-storage或cls-hooked npm软件包。它使您可以在整个旅程中跟踪明确的请求

https://www.npmjs.com/package/continuation-local-storage