直接回答

防止日志泄露敏感信息靠"源头不入日志 + 落盘前脱敏 + 存储访问管控"三层防线:日志框架层面过滤和脱敏敏感字段(密码、令牌、身份证、银行卡),杜绝把请求体、异常堆栈中的原始数据直接打印,同时对日志存储做访问控制和加密。

展开解析

具体措施:在日志框架配置过滤器或自定义转换规则,对 password、token、Authorization、cookie 等键名自动掩码(保留前几位便于排查);领域对象的 toString/序列化器排除敏感字段(如 @ToString.Exclude、@JsonIgnore);绝不打印完整请求体,尤其登录、改密、支付接口;异常包装后再记录,避免把含用户输入的原始异常直接写进日志。配套治理:结构化日志(JSON)让脱敏规则统一实施;日志本身也是敏感资产——集中收集、按角色控权、设保留期定期清理(GDPR/个保法要求);把"密码不入日志"写进 review 清单,用自动化扫描巡检历史日志兜底。易错点:URL query 里的 token 会被 access log 记录,应放 Header;生产开 debug 级别是常见事故源。追问:脱敏后如何不影响排障(用关联 ID 代替原始数据)。