在我(非常小的)服务器中的每个路由处理程序的顶层(我使用库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
但这感觉有点乱。