基于logback.xml日志脱敏方案
SpringBoot日志脱敏Starter源码gitee地址


第一步
maven依赖
<dependency>
<groupId>cn.xxm.starter</groupId>
<artifactId>xxm-log-desensitive-spring-boot-starter</artifactId>
<version>1.0.1</version>
</dependency>
第二步 application.properties
#脱敏全局开关,默认false
log.desensitize.config.closeSwitch=false
#脱敏包,不配置,默认全部脱敏
log.desensitize.config.packages=
#脱敏策略
log.desensitize.config.strategy=json_improvement
#脱敏字段处理策略
# cardNames 类型字段,保留前三后三
log.desensitize.retain.cardNames=3,3
log.desensitize.retain.idNoKeyNames=3,4
log.desensitize.retain.custKeyNames=3,3
log.desensitize.retain.emailKeyNames=3,2
log.desensitize.retain.homeAddressKeys=3,3
log.desensitize.retain.phoneKeyNames=3,2
log.desensitize.retain.otherKeyNames=0,0
#脱敏类型、字段
log.desensitize.type.cardNames=checkRuleKey
log.desensitize.type.phoneKeyNames=checkRuleDesc,phoneNum,mobileNo,phone,requestMobileNo,registerMobileNo,telePhone
log.desensitize.type.emailKeyNames=email
log.desensitize.type.idNoKeyNames=tidnumber,credNo,IdNo,idNo,certNo,user_id_no,accountNo
log.desensitize.type.homeAddressKeys=homeAddress,address
log.desensitize.type.otherKeyNames=password,SMScode,smsCode,fileName
第三部 在logback.xml中配置conversionRule转换规则
<conversionRule conversionWord="msg" converterClass="cn.xxm.ff.log.logback.SensitiveDataConverter"> </conversionRule>
下面开始把玩环节

2021-03-01 17:15:12.220] [http-nio-8088-exec-1] [] [cn.xxm.scene.controller.CommonSceneController.getSceneList:76] -- >>>userBo:{"mobile":"136******57","state":false,"email":"tat*******21@163.com"}
2021-03-01 17:15:12.225] [http-nio-8088-exec-1] [] [cn.xxm.scene.controller.CommonSceneController.getSceneList:77] -- checkRuleBoList:[{"checkRuleDesc":"heh*da","targetHandler":"nis*********hish","remark":"","checkRuleKey":"A","id":"123","state":true,"checkRuleVaule":"heh*","userBoList":[{"mobile":"136******57","state":false,"email":"tat*******21@163.com"}]},{"checkRuleDesc":"heh*da","targetHandler":"nis*********hish","remark":"","checkRuleKey":"A","id":"123","state":true,"checkRuleVaule":"heh*","userBoList":[{"mobile":"136******57","state":false,"email":"558***55@qq.com"}]}]