javascript - 识别 Nodejs 中的上下文

标签 javascript node.js logging

目前我们的项目正在通过类中的静态方法处理日志记录。我们使用事务 ID 来跟踪请求的日志,不要与其他日志混淆。

但这有一个并发问题。

  1. 请求1设置交易ID(静态)
  2. request2 设置交易id(另一个)
  3. request1 记录,然后它使用 request2 的 id。

我们的架构师建议实例化一个记录器并将其作为参数传递到所有函数中,但这很烦人,因为有很多函数调用,因此这意味着添加一个新参数,从功能的 Angular 来看没有意义,成百上千的功能。

我认为任何其他解决方案都需要一种方法,在任何函数中区分它属于哪个上下文,我的意思是,哪个请求调用了该函数。

我是 nodejs 的新手,有什么全局变量或其他机制可以帮助我吗?

最佳答案

有一个blog分享如何实现这一目标。

我看了一下它使用的库,它指的是cls-hooked它使用了一些内部/实验性 Node.js 功能。

因此,不太推荐在生产中使用。

已编辑

最近在学习的时候发现了一个图书馆https://zipkin.io .它使用 https://github.com/othiym23/node-continuation-local-storage跟踪线程本地存储等值(value)。值得一看

关于javascript - 识别 Nodejs 中的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51130548/

相关文章:

javascript - 单击时如何使内部 div 中的元素覆盖整个外部 div?

javascript - 如何将 JQuery 元素转换为字符串并使用 JavaScript 的 indexOf 访问它

javascript - 手动添加属性?

javascript - Node.js WebSocket 错误 : read ECONNRESET after some reconnects

hadoop - 如何为 Apache Hadoop NameNode 启用 GC 日志记录,同时防止日志文件覆盖和限制磁盘空间使用

node.js - 将请求记录到 Nodejs Express

javascript - 如何获取 JSON stringify 的错误信息?

node.js - 带有电子邮件模板的 i18n 模块

node.js - 无法让部署的 pdf 模块工作 dpd-pdf

javascript - stateChangeStart - AngularJS