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 封装为全局模块或动态模块,根据情况自行选择即可。

相关推荐
前端市界几秒前
实用指南:如何本地化部署 Sentry (Self-Hosted) 完整教程
前端
2501_92899622几秒前
数据安全与灾备技术
后端·数据安全
颂love2 分钟前
TypeScript速学
前端·javascript·typescript
磊 子5 分钟前
硬中断 软中断
后端·操作系统
IT策士8 分钟前
第 46 篇 k8s之CI/CD 集成:GitOps 理念与 ArgoCD
前端·容器·kubernetes
Dalydai11 分钟前
AI 辅助大屏开发:怎么让 AI 干活,但别让它干砸
前端
凌涘11 分钟前
深入理解 JavaScript 执行机制:从执行上下文到调用栈全解析
前端·javascript
utmhikari11 分钟前
【AI原生】用Vibe Coding写产品前端原型的一些经验
前端·ai·产品经理·web·web开发·ai-native·qoder
li星野12 分钟前
从零搭建文件上传系统:FastAPI 后端 + Streamlit 前端
前端·状态模式·fastapi
YAwu1115 分钟前
手写一个符合 Promise/A+ 规范的 Promise(附完整代码)
前端·javascript