日志的谎言:为什么你的日志比没有日志更危险
Posted by quentin 在 Wednesday, 29 April 2026凌晨两点,线上出了一个支付失败的问题。你登录日志平台,输入订单号,回车。三千条日志滚动出来。你加上时间过滤,缩小到五百条。再加 ERROR 级别,剩三十条。你一条一条看——全是超时告警,没有一条告诉你为什么超时。
你把级别放宽到 WARN,三百条。大多是重试成功的记录,看起来没啥用。你换了个关键词搜,又出来几百条。折腾了一个小时,你发现关键信息藏在一个 INFO 级别的日志里,存的是上游服务的返回值,但打印的时候没用 JSON 格式,正则匹配不到。
最后你靠着回忆和猜,定了位。第二天写故障报告,复盘建议第一条写着:"增加更多日志。"
这个场景大概不需要太多解释,每个值过班的工程师都经历过。但真正值得思考的不是"日志不够"这个表面结论,而是更深的问题:你有成千上万条日志,为什么还需要靠猜?如果日志真的有用,为什么越紧急的时刻,日志越帮不上忙?
日志的安全感是假的
很多团队对日志有一种近乎宗教性的信任——出了问题看日志,没问题也要看日志确认一下。代码评审的时候,一句"这里加个日志吧"几乎不会被拒绝,因为加日志没有成本,看起来还体现了严谨。
但日志给你的安全感是虚假的。