脱敏要做在日志框架的输出层,统一挂格式化器或过滤器,别指望每个调用点自己记得打码。
规则集中维护:手机号留前 3 后 4,身份证留前 6 后 4,邮箱只留首字符和域名。
别只处理 message,参数对象、异常堆栈、SQL 日志同样会带上这些字段,序列化后再统一过一遍正则。
手机号 (?<!\d)(\d{3})\d{4}(\d{4})(?!\d) -> $1****$2
身份证 (?<!\w)(\w{6})\w{8}(\w{4})(?!\w) -> $1********$2
邮箱 ([^@\s])[^@\s]*@([^@\s]+) -> $1***@$2
# 挂载点:日志框架的 Filter / Formatter,对 message 与参数对象统一处理
# 不要在业务代码里散落 replace 调用
THE END






暂无评论内容