【发布时间】:2021-03-31 18:26:45
【问题描述】:
在 NestJs 我有这个构造函数:
@Injectable()
export class DummyService {
constructor(
private readonly logger: LoggerService,
private readonly config: ConfigService,
private readonly session: SessionService,
private readonly core: CoreService,
private readonly tracking: TrackingService,
) {
this.logger.setContext(this.constructor.name);
}
}
这条线:this.logger.setContext(this.constructor.name);
... 让我很无聊,因为每项服务都需要它。
我想添加一个装饰器 (@LogContext()) 或其他东西来避免这一行。 类似的东西:
@LogContext(LoggerService)
@Injectable()
export class DummyService {
constructor(
private readonly config: ConfigService,
private readonly session: SessionService,
private readonly core: CoreService,
private readonly tracking: TrackingService,
) {}
}
但我不知道该怎么做。 注意:不能通过继承来实现,依赖注入拒绝继承。
【问题讨论】:
标签: typescript service decorator nestjs