惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
博客园_首页
T
Tailwind CSS Blog
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 聂微东
S
SegmentFault 最新的问题
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
N
Netflix TechBlog - Medium
Jina AI
Jina AI
WordPress大学
WordPress大学
U
Unit 42
J
Java Code Geeks
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

木灵鱼儿

18 NestJS 基于 Docker 的 NestJS + Prisma + Playwright 生产环境容器化实践 - 木灵鱼儿 17 NestJS 使用 CoreModule 实现基础设施与业务域的彻底解耦 - 木灵鱼儿 VS Code BYOK 配置生成器 - 木灵鱼儿 2026 最新禁止浏览器密码管理器弹出教程 - 木灵鱼儿 16 NestJS 企业级 RBAC 权限控制体系 - 木灵鱼儿 15 NestJS 统一响应体设计(信封模式) - 木灵鱼儿 14 NestJS 生产级错误过滤方案 - 木灵鱼儿 13 NestJS 集成 TypeORM 完全指南 - 木灵鱼儿 12 NestJS 集成 Prisma ORM 完全指南(Prisma v7) - 木灵鱼儿 11 NestJS 注册与登录接口的密码安全设计 - 木灵鱼儿 10 NestJS JWT 身份验证完全指南 - 木灵鱼儿 09 NestJS 使用 @nestjs-swagger 生成 API 文档 - 木灵鱼儿 08 NestJS DTO 校验、Entity 脱敏与 Mapped Types 实战(TypeORM & Prisma) - 木灵鱼儿 07 NestJS 使用Caching缓存(cache-manager) - 木灵鱼儿 06 NestJS 使用Redis - 木灵鱼儿 05 Nestjs 高性能构建之SWC与Typescript7选型 - 木灵鱼儿 04 Nestjs API版本控制策略 - 木灵鱼儿 NestJS config模块扩展用法.md - 木灵鱼儿 宝塔如何给网站一次性绑定两个域名 - 木灵鱼儿 NestJS 环境变量与配置管理(Config 模块) - 木灵鱼儿 如何使用 FNM 自动切换不同项目的 Node.js 版本 - 木灵鱼儿 如何使用 Node.js Corepack 自动锁定和切换项目包管理器版本 - 木灵鱼儿 日常开发中的 void:从忽略 Promise 到理解 JavaScript 历史写法 - 木灵鱼儿 git 进阶指南:如何用 Git Worktree 完美应对紧急 Bug 与多分支联调 - 木灵鱼儿 了解并解决 Git 大小写“无感”的幽灵 Bug - 木灵鱼儿 从零开始:手把手教你封装一个企业级 Axios 请求模块 - 木灵鱼儿 03-Vue Query 高级进阶:应对复杂业务场景的硬核套路 - 木灵鱼儿 02-Vue Query 快速入门:从零构建你的第一个声明式查询 - 木灵鱼儿 01-异步状态管理新范式:为什么在 Vue 3 中使用 vue-query? - 木灵鱼儿 git 如何将所有历史提交合并为一条 - 木灵鱼儿
NestJS 正确处理日志 - 木灵鱼儿
木灵鱼儿 · 2026-08-02 · via 木灵鱼儿

前言

程序运行时,你怎么知道它是否正常?出问题了,你怎么知道哪一步出了错?

这些问题的答案就是 日志。日志是程序运行时留下的"行动记录",是排查问题最重要的工具。

我们该如何在 NestJS 中正确地处理日志呢?本文将从日志等级、日志存储位置、NestJS 内置 Logger、第三方日志库(Winston、Pino)、全局异常过滤器、请求日志中间件等方面进行详细讲解。


二、日志等级

日志按照严重程度分为以下等级(从低到高):

等级说明
Verbose最详细的信息,例如接口耗时,非必要不使用
Debug调试信息,例如接口入参、返回值,仅开发阶段使用
Log通用日志,记录普通运行信息
Warning警告,例如即将废弃的接口
Error错误,例如接口异常、数据库报错

三、日志写到哪里?

不同场景下,日志的存储位置不一样:

日志类型推荐位置
普通日志控制台 + 文件
错误日志文件 + 数据库
警告日志控制台 + 文件
调试日志控制台(仅开发阶段)
API 日志控制台 + 数据库(生产)

不同阶段的建议:

LogErrorWarningDebugVerboseAPI 日志
开发阶段
预发布阶段
生产环境

此处内容已隐藏回复后方可阅读。

版权申明

本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。

相关推荐

获得点赞 0

文章被阅读 27

最后更新 26-08-02 19:26:48

目录