Logger重构后异常过滤器使用logger的问题

来源:9-7 通用业务系统:日志模块代码重构(作业)

城北丶

2023-07-21

1、为什么给HttpExceptionFilter异常过滤器传递的只能是Logger而不能是LoggerService?
图片描述
2、在HttpExceptionFilter异常过滤器的构造函数中注入Logger是否需要使用@Inject(WINSTON_MODULE_NEST_PROVIDER)?为什么不需要注入?
图片描述

写回答

1回答

Brian

2023-07-24

1、为什么给HttpExceptionFilter异常过滤器传递的只能是Logger而不能是LoggerService?

——你的代码从哪来的?视频中,我们讲的是如下的内容吧:

//img.mukewang.com/szimg/64bd517b09cc3c7810710189.jpg

注意:

//img.mukewang.com/szimg/64bd51d10965fad512560949.jpg

我们定义的HTTPException其中Contructor即该类接收一个LoggerService的类,没有说“只能是Logger而不能是LoggerService”,只要是LoggerService的类及子类都行。


2、在HttpExceptionFilter异常过滤器的构造函数中注入Logger是否需要使用@Inject(WINSTON_MODULE_NEST_PROVIDER)?为什么不需要注入?

——如果使用winston去打印,则需要使用@Inject(WINSTON_MODULE_NEST_PROVIDER);如果不加前面的装饰器,将会使用默认的Logger,即nestjs的。

0
4
Brian
回复
城北丶
才能正常使用HttpExceptionFilter,如果传入的是LoggerService就会报错,我不明白这个原理。——这里只用看传了谁,你传的是HttpExceptionFilter的constructor中的logger来用
2023-07-31
共4条回复

NestJS 入门到实战 前端必学服务端新趋势

近几年快速发展的Node.js框架,掌握未来前端工程师后端开发能力

569 学习 · 238 问题

查看课程