在生产环境中,日志往往是排查问题的“救命稻草”,但也可能成为泄露隐私的“定时炸弹”。你是否曾在日志中无意间看到过用户的明文密码、银行卡号或手机号?一旦这些敏感信息随日志进入集中化存储系统,不仅面临合规风险,更可能造成不可估量的安全事故。
传统的做法是在每一个打印日志的地方手动处理脱敏,但这既繁琐又容易遗漏。Go 1.21 引入的 log/slog 提供了一个优雅的解法:通过自定义 Handler,可以将脱敏逻辑收拢到基础设施层,实现“一处配置,全局生效”。
这篇文章将手写一个专门用于隐私脱敏的自定义 Handler。