← 返回全部手记
问题排查

日志不必很多,但要留下上下文

记录发生了什么、在哪一步发生,以及下一步能查什么,让日志成为有用的线索。

一条只有“失败了”的日志很难帮助排查。另一种极端是把所有输入和中间结果都打印出来,真正的线索反而被淹没。日志的价值,取决于它能不能回答具体问题。

围绕关键事件记录

可以从一次操作的开始、关键分支和最终结果着手。描述清楚发生的事件,而不是只写模糊的提示。使用一致的字段名称,方便把同一次操作的记录联系起来。

{
  "event": "notes.load.completed",
  "itemCount": 6,
  "durationMs": 24
}

上面只是一个自写的结构示例。它说明发生了什么,也带有结果数量和耗时。实际记录哪些字段,应由排查需求决定,避免为了完整而无限增加内容。

错误信息保留原因,界面提示照顾读者

面向开发者的记录可以包含必要的技术上下文;面向访客的提示则应该说明当前状态和可采取的操作。两者服务于不同的阅读场景,不必原样复制。

定期检查没有必要的输出

调试时加上的输出,不一定适合长期保留。提交前确认日志没有记录密码、完整令牌或无关的个人数据。重复且没有判断价值的日志,也可以考虑合并或移除。

再读一篇 ↗收工前,给明天留一张便签