一条只有“失败了”的日志很难帮助排查。另一种极端是把所有输入和中间结果都打印出来,真正的线索反而被淹没。日志的价值,取决于它能不能回答具体问题。
围绕关键事件记录
可以从一次操作的开始、关键分支和最终结果着手。描述清楚发生的事件,而不是只写模糊的提示。使用一致的字段名称,方便把同一次操作的记录联系起来。
{
"event": "notes.load.completed",
"itemCount": 6,
"durationMs": 24
}上面只是一个自写的结构示例。它说明发生了什么,也带有结果数量和耗时。实际记录哪些字段,应由排查需求决定,避免为了完整而无限增加内容。
错误信息保留原因,界面提示照顾读者
面向开发者的记录可以包含必要的技术上下文;面向访客的提示则应该说明当前状态和可采取的操作。两者服务于不同的阅读场景,不必原样复制。
定期检查没有必要的输出
调试时加上的输出,不一定适合长期保留。提交前确认日志没有记录密码、完整令牌或无关的个人数据。重复且没有判断价值的日志,也可以考虑合并或移除。