我们已经对continuation-local-storage做过一些实验,看来可以很好地解决特定问题。
让我感到不安的是,它依赖于process.addAsyncListener
的polyfill,似乎很久以前就已弃用。
这使我有点担心将其用于生产代码,因此使用安全吗?
我们特定的代码库仍然必须在某些服务器上的节点6上运行一段时间(在大多数服务器上的节点8上运行)。
问题
此模块可帮助我们创建异步操作期间保留的执行上下文。
我们专门添加到bunyan子记录器中,该子记录器已使用诸如请求ID /消息ID /关联ID之类的上下文数据初始化。
这有助于我们避免必须在各层之间传递流氓数据,但仍然能够跟踪与特定请求关联的所有日志消息。