采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
1、为什么给HttpExceptionFilter异常过滤器传递的只能是Logger而不能是LoggerService? 2、在HttpExceptionFilter异常过滤器的构造函数中注入Logger是否需要使用@Inject(WINSTON_MODULE_NEST_PROVIDER)?为什么不需要注入?
1、为什么给HttpExceptionFilter异常过滤器传递的只能是Logger而不能是LoggerService?
——你的代码从哪来的?视频中,我们讲的是如下的内容吧:
注意:
我们定义的HTTPException其中Contructor即该类接收一个LoggerService的类,没有说“只能是Logger而不能是LoggerService”,只要是LoggerService的类及子类都行。
2、在HttpExceptionFilter异常过滤器的构造函数中注入Logger是否需要使用@Inject(WINSTON_MODULE_NEST_PROVIDER)?为什么不需要注入?
——如果使用winston去打印,则需要使用@Inject(WINSTON_MODULE_NEST_PROVIDER);如果不加前面的装饰器,将会使用默认的Logger,即nestjs的。
关于第一个问题,我传入LoggerService就会报错,错误为:(“LoggerService”仅表示类型,但在此处却作为值使用。)HttpExceptionFilter异常过滤器跟老师的代码一样,区别就是我在控制器把这个过滤器作为路由级别的而已。 关于第二个问题,在异常过滤器中我不使用@Inject(WINSTON_MODULE_NEST_PROVIDER)对LoggerService进行注解依然打印的是NestWinston的日志信息。
有代码吗?
就是图一的代码,我在路由上使用@UseFilters(new HttpExceptionFilter(Logger))才能正常使用HttpExceptionFilter,如果传入的是LoggerService就会报错,我不明白这个原理。
登录后可查看更多问答,登录/注册
近几年快速发展的Node.js框架,掌握未来前端工程师后端开发能力
761 7
496 7
408 7
653 6
655 6