NestJs报错:Please make sure that the argument Logger at index [2] is available in the UserModule conte

尝试使用nest-winston日志

npm install --save nest-winston winston

根据文档在main.ts中使用

nest-winston - npm

 

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { createLogger } from 'winston';
import * as winston from 'winston';
import { WinstonModule, utilities, } from 'nest-winston'

async function bootstrap() {

  const instance = createLogger({
    transports: [
      new winston.transports.Console({
        level: 'info',
        format: winston.format.combine(
          winston.format.timestamp(),
          utilities.format.nestLike()
        )
      })
    ]
  })

  const app = await NestFactory.create(AppModule, {
    logger: WinstonModule.createLogger({
      instance
    })
  });

  await app.listen(7000);
}
bootstrap();

在app.module.ts中providers提供Logger


import { Logger, Module } from '@nestjs/common';

providers: [Logger],

再根据文档在UserController中引入

@Controller('user')
export class UserController {

    constructor(
        private userService: UserService,

        @Inject(Logger) private readonly logger: LoggerService
        ) {}

 

执行

pnpm start:dev

控制台打印报错:

[NestWinston] Error     2024/2/29 15:19:38 [ExceptionHandler]
 Nest can't resolve dependencies of the UserController (UserService, ConfigService, ?). Please make sure that the argument Logger at index 
[2] is available in the UserModule context.

Potential solutions:
- Is UserModule a valid NestJS module?
- If Logger is a provider, is it part of the current UserModule?
- If Logger is exported from a separate @Module, is that module imported within UserModule?
  @Module({
    imports: [ /* the Module containing Logger */ ]
  })

按道理说, 我已经在app.module.ts模块中正确提供了Logger了。 但是UserController.ts无法正确使用。

解决方法是:

在user.module.ts也加上这个Logger

import { Logger, Module } from '@nestjs/common';
import { UserController } from './user.controller';
import { UserService } from './user.service';

@Module({
  controllers: [UserController],
  providers: [UserService, Logger],
 
})
export class UserModule {}

 

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值