标准答案

  1. 基础字段包括时间、日志级别、服务名、实例、环境、版本、Trace ID、请求路径、状态码和耗时。
  2. 业务字段应使用稳定的订单 ID、任务 ID、租户 ID 等标识,方便关联,但要避免直接记录完整手机号、身份证号和令牌。
  3. 错误日志应包含可定位的异常类型、依赖名称、重试次数和结果,不应把内部堆栈或配置原样暴露给外部用户。
  4. 日志平台需要保留期限、访问权限、审计和脱敏规则,生产日志不是无限期的调试垃圾桶。

题目解析

结构化字段比拼接字符串更便于聚合、筛选和告警。团队应定义少量跨服务统一字段,避免每个服务对同一概念使用不同名字。

可观测性和隐私并不冲突。记录可关联的匿名业务标识通常足够定位问题,敏感原文只应在极少数受控场景访问。

常见误区

  • 为了排查方便记录 Authorization、Cookie、密码或完整身份证号。
  • 所有日志只有自然语言,无法按字段筛选和聚合。
  • 错误日志没有版本和请求关联,发布后无法判断是否只影响新版本。

作者信息