我有一个Express应用程序.我想跟踪单个请求所做的所有记录.
Apache有一个名为的模块mod_unique_id
,它在请求头中注入一个包含唯一哈希的特殊模块.我想在记录(任何东西)时使用这样的哈希.
例如,如果一个用户被apache分配了unique_id值"abcdefg"和我的代码中的某个地方(控制器,模型或任何东西),我生成一个调试日志,我希望每个日志条目都附加"abcdefg".
在我脑海中浮现的唯一想法是创建一个记录器实例app.use()
,并将该记录器实例传递给所有需要的函数(模型,库等)以生成正确的响应.
不幸的是,这将导致我重写大量代码,让旧函数接受这个新的记录器实例.
有没有人知道一个更好的方法,每个"请求"有一个"记录器"实例,可以通过某种方式访问,而不会将这个"按请求创建的记录器"传递给任何东西?
PS:我目前正在使用winston
日志