日志不是越多越好。真正有用的日志,能帮助你在故障发生时快速还原请求、定位分支、判断影响范围。
日志要有上下文
关键日志最好包含:
- traceId 或 requestId。
- 用户或租户标识。
- 业务单号。
- 接口名称。
- 关键入参摘要。
- 执行结果。
- 耗时。
- 异常原因。
没有上下文,单条错误日志很难串起来。
层级要用对
常见日志层级可以这样用:
- debug:本地调试细节。
- info:关键业务节点。
- warn:异常但可恢复。
- error:需要关注的失败。
不要把正常流程都打成 error,也不要把真正失败藏在 info 里。
关键路径要留节点
核心链路可以在这些位置打日志:
- 请求进入。
- 参数校验失败。
- 调用外部服务前后。
- 数据库关键写入。
- 状态变更。
- 异常捕获。
- 请求完成。
日志节点要服务排障,不是为了填满文件。
脱敏要看边界
日志里要避免直接输出密码、token、私钥、身份证、银行卡和完整手机号等高敏信息。
对于普通业务排障字段,可以保留必要摘要,比如订单号、状态、错误码和脱敏后的联系方式。
维护建议
每个项目可以定义统一日志规范:
- 必带字段。
- 日志层级。
- 关键业务节点。
- 脱敏规则。
- 查询示例。
日志写得好,很多线上问题能少走一半弯路。
正文完




