参考手册Workspace 包参考

Logs 日志工具

统一日志记录工具,基于 consola 封装

本页是 01MVP 模板的 Workspace 包参考。若你正在按功能启用或改造模板,先看 上线与维护

@01mvp/logs

这是什么

@01mvp/logs 是一个日志工具,帮你在代码里输出运行信息,方便调试和排查问题。底层基于 consola 封装,自动区分开发环境和生产环境。

能做什么

  • 开发调试 -- 控制台彩色输出,方便看日志
  • 生产记录 -- 输出结构化日志,方便采集和分析
  • 模块打标 -- 给不同模块(认证、支付、存储)创建独立 logger,日志带标签便于区分来源
  • 分级输出 -- 支持 debug(调试)、info(普通)、warn(警告)、error(错误)、fatal(致命)等多级

怎么用

直接 import,无需配置,自动根据 NODE_ENV 切换行为:

import { logger } from "@01mvp/logs";

logger.info("操作成功");
logger.error("出错了");

推荐给每个模块创建自己的 logger,带标签更好定位:

import { createModuleLogger } from "@01mvp/logs";

const authLogger = createModuleLogger("auth");
authLogger.info("用户登录成功"); // 输出会带 [auth] 标签

大概原理

项目里就两件事在自动处理:

  • 开发环境 -- 彩色输出,不显示时间戳,debug 及以上级别都会显示
  • 生产环境 -- 无颜色,显示时间戳,只显示 info 及以上级别

日志输出到标准输出(stdout),部署平台(Vercel、Docker、K8s)会自动采集,你可以在外部日志平台做检索和告警。

最佳实践

  • 给每个功能模块创建独立 logger
  • 记录数据时带结构化上下文(比如 { userId, orderId }),不要只写一句话
  • 不要记录敏感信息(密码、token、身份证号、完整手机号/邮箱)
  • 错误日志一定要附带上下文,方便定位问题
  • 用合适的级别:debug 调试用,info 正常事件,warn 可恢复问题,error 系统还能跑但有问题

相关链接