NestJS——访问控制器中的应用程序上下文



我在main.ts:中有这个代码

async function bootstrap() {
const app = await NestFactory.create(AppModule, {
logger: new LoggerService(
process.env.SERVER_NAME || 'server',
process.env.LOG_LEVEL || 'debug'
),
})
...

记录器服务:

import { LoggerService as NestLoggerService } from '@nestjs/common'
import * as Bunyan from 'bunyan'
export class LoggerService implements NestLoggerService {
private readonly _logger: Bunyan
constructor(name: string, level: string) {
this._logger = Bunyan.createLogger({
name,
level: level as Bunyan.LogLevelString,
}).child({

app_name: name,
})
}
...

在我的控制器中,我如何访问在应用程序引导过程中实例化的记录器?

来自NestJS官方文档:

若要为自定义记录器启用依赖项注入,请创建一个实现LoggerService的类,并将该类注册为某个模块中的提供程序。

然后你应该像这样将其注册为应用程序记录器:

app.useLogger(app.get(MyLogger));

然后你就可以将MyLogger注入你的控制器,或者任何你需要的地方

最新更新