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

相关推荐
kyriewen1 小时前
2026 年了,这 6 个 npm 包可以卸载了——浏览器原生 API 已经能替代
前端·javascript·npm
铁皮饭盒2 小时前
bun直接tsx,优雅!
javascript·后端
Cosolar2 小时前
藏在 Claude Code 里的极致浪漫:完整 187 条 Spinner Verbs 全收录
后端·程序员·代码规范
Csvn3 小时前
Linux 防火墙管理 — firewalld 实战
后端
Csvn3 小时前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
Csvn3 小时前
Monorepo 迁移血泪史:从 Multi-Repo 到 Turborepo,这 3 个坑我帮你踩完了
前端
leeyi4 小时前
Multi-Agent:让多个 AI 分工协作完成复杂任务
后端·aigc·agent
长栎4 小时前
你的策略模式是 Map<String, Strategy>?那不过是最廉价的 if-else 替代品
后端
星栈4 小时前
Dioxus 多页面怎么做:`dioxus-router`、嵌套路由、`Outlet` 和页面组织,一篇给你讲顺
前端·rust·前端框架
长栎4 小时前
你写的 abstract class 里全是钩子方法——模板模式不是让你填空,是让你别越界
后端