我正在尝试记录会话用户,但它没有像我怀疑的那样工作。我在想我可以将它添加到中间件中,但显然这行不通。是否有我应该使用的策略或模式来实现这一点。
日志应该有不同的PassportAuthInterceptor
用户,但它只使用中间件设置的最后一个
我看到他们在 log4js 文档中使用它,但显然这似乎没有我在下面演示的方式的意义。
我也看到有一个AuthLibrary.currentUser()
电话,但我不确定如何做到这一点。
https://github.com/log4js-node/log4js-node/blob/master/docs/layouts.md#tokens
看到这是 NestJS,我可以以某种方式将用户注入服务,因为这可以解决我的问题。
export class LoggerMiddleware implements NestMiddleware {
private readonly logger = new AppLoggerService(LoggerMiddleware.name);
public use(req, res, next: () => void) {
log4js.getLogger('default').addContext('user', user.authName)
next();
}
}