Nest 如何打印日志

使用内置的 Logger

创建项目:

bash 复制代码
nest new logger-test -p npm

进入目录执行 nest run start:dev 启动服务。

服务启动后, Nest 会打印这些日志:

new Logger 之后就可以使用它的实例方法:

浏览器访问,控制台打印出的日志:

log、warn、error、verbose、debug 就是日志级别,[云牧牧] 中是当前所在上下文 context,最后的是内容。

日志可以在创建应用的时候指定开启或自己决定输出什么级别的日志:

自定义日志打印

my-logger.service.ts,在这个文件中实现 LoggerService 接口:

指定自定义 logger:

项目启动后,日志是这样的:

访问 localhost:3000:

注入依赖

因为上面是我们手动 new 的对象,没法注入依赖,这样做:

bufferLogs 就是先不打印日志,把它放到 buffer 缓冲区。 这里通过 app.get(MyLoggerService) 获取 MyLoggerService 的实例,设置为应用使用日志。

注入依赖:

AppModule 里引入:

打印的日志,证明成功注入了依赖:

我们还可以把自定义 Logger 封装为全局模块或动态模块,根据情况自行选择即可。

相关推荐
一只小阿乐13 小时前
react路由中使用context
前端·javascript·react.js·context 上下文
Hilaku13 小时前
一周狂揽40K+ Star⭐ 的 Pretext 到底有多变态?
前端·javascript·html
gelald13 小时前
Spring - 事务管理
java·后端·spring
nghxni13 小时前
LightESB Timer发布:服务级日志与响应编码增强
后端
Southern Wind13 小时前
AI Skill Server 动态技能中台
前端·后端·mysql·node.js
chen_ever13 小时前
从网络基础到吃透 Linux 高并发 I/O 核心(epoll+零拷贝 完整版)
linux·网络·c++·后端
斌味代码13 小时前
SpringBoot 3 实战:虚拟线程、全局异常处理与 JWT 鉴权完整方案
java·spring boot·后端
锦木烁光14 小时前
多端项目太乱?我是这样用 Monorepo 重构的
前端·架构
Java编程爱好者14 小时前
Spring Boot 对象拷贝:这8个性能陷阱让代码越来越慢
后端
上山打牛14 小时前
cornerstone3D基本使用
前端