09-logging.md 1.7 KB

日志规范

1. 基础配置

  • 前后端统一使用debug库
  • 开发环境:启用所有日志级别
  • 生产环境:通过环境变量DEBUG控制日志级别
  • 安装依赖:已安装debug@4.4.1@types/debug

2. 命名空间规范

格式:<应用>:<模块>:<功能>
示例:

frontend:auth:login    # 前端-认证-登录
backend:api:middleware # 后端-API-中间件
backend:db:query       # 后端-数据库-查询
k8s:deployment:create  # K8S-部署-创建

3. 日志级别

级别 使用场景
error 系统错误、异常情况
warn 警告性事件
info 重要业务流程信息
debug 调试信息
trace 详细跟踪信息(慎用)

4. 实现示例

前端示例

// src/client/utils/logger.ts
import debug from 'debug';

export const logger = {
  error: debug('frontend:error'),
  api: debug('frontend:api'),
  auth: debug('frontend:auth'),
  ui: debug('frontend:ui')
};

后端示例

// src/server/utils/logger.ts
import debug from 'debug';

export const logger = {
  error: debug('backend:error'),
  api: debug('backend:api'),
  db: debug('backend:db'),
  middleware: debug('backend:middleware')
};

5. 最佳实践

  1. 错误日志必须包含错误堆栈和上下文
  2. 禁止记录密码、token等敏感信息
  3. 生产环境避免使用trace级别
  4. 复杂对象使用JSON.stringify()

6. 环境配置

```bash

开发环境

DEBUG=*

生产环境

DEBUG=:error,:warn

特定模块调试

DEBUG=backend:api,backend:db