技术 · 开发实战
日志要能被找到:检索设计的几个要点
出问题时,能不能快速定位,取决于日志怎么写。结构化的字段比漂亮的文字更有用。
先定字段
把时间、服务名、请求标识、级别与耗时作为固定字段,便于统一检索。自由文本只用于补充说明,关键信息必须落在字段里。
请求链路
给每次请求分配一个专用标识,并在服务间透传,就能把分散的日志串起来。缺少这个标识,跨服务排查只能靠时间猜测。
级别要克制
把大量调试信息写成错误级别,会让真正的故障被淹没。按用途分级,生产环境控制输出量。
采样与保留
高流量场景下全量记录成本高,可以按比例采样,但错误与慢请求应完整保留。保留周期要与排查需求匹配,过短会让事后分析失去依据。
可读性服务于检索
格式统一、字段有序,人和工具都能读。日志不是给人看的散文,而是能被查询的记录。
读者留言
共 4 条 · 精选展示请求标识透传这条太关键了。
级别滥用确实害人,深有体会。
错误与慢请求完整保留,这个策略好。
日志不是散文,这句话该贴在墙上。