是否有一种干净的方法将记录器添加到节点服务器中的全局命名空间?

时间:2017-02-02 02:31:05

标签: javascript node.js express

在我(非常小的)服务器中的每个路由处理程序的顶层(我使用库micro,它似乎模仿了很多Express),我实例化将{1}}日志发送到logger的{​​{1}}。通过将elasticsearch传递给记录器构造函数,记录器将该名称附加到它生成的所有日志中。

层次结构如下所示:

name

我的问题是:如果服务器正在处理多个并发请求,那么router -routeA: global._logger = _logger(name: 'routeA') -routeB: global._logger = _logger(name: 'routeB') 是否会被每个新的路由处理程序实例化覆盖?

如果是这样,是否有更简洁的方法将我的global._logger附加到全局范围,将其传递给我调用的每个函数?

我想到的另一个选项是让logger成为一个对象,每条路线都有一个_logger,键入key。例如

req.url

但这感觉有点乱。

0 个答案:

没有答案