# 日志脱敏工具 **Repository Path**: androidwhm/diary_desensitization ## Basic Information - **Project Name**: 日志脱敏工具 - **Description**: 日志脱敏处理 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2023-10-08 - **Last Updated**: 2023-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## logback日志脱敏工具 ### 功能: #### 通过logback底层开发,在日志打印之前进行脱敏处理 ##### 1、统一日志pattern格式: ##### %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [{0}:%X'{'{1}'}'] [%level] %logger{10}-%L %msg'{'{0},{1},{2},{3}'}'%n ##### 2、日志敏感数据脱敏处理 ##### 3、日志超长截取 ### 脱敏规则: ###### a、[trueName]真实姓名脱敏(展示姓名第一个字,其余用*替换) ###### b、[idCardNo]身份证号码脱敏(展示身份证号码前3位和最后4位,其余用*替换) ###### c、[phoneNo]手机号码脱敏(展示手机号码前3位和最后4位,其余用*替换) ###### d、[bankcardNo]银行卡号脱敏(展示银行卡号前6位和最后4位,其余用*替换) ###### e、[other]其它数据脱敏(全部用*替换) ### 使用方法: ##### 引入jar 包 ````xml com.gitee.cqdevops.desensitization desensitization-logback 1.1.1 ```` ##### logback.xml添加配置项: ##### 1、配置 通用pattern格式Encoder ````xml true idCardNo:cardId;idNo,trueName:realName "idCardNo:\d{18}","phoneNo:1[0-9]{10}" sessionId 128 2048 UTF-8 ```` ##### 2、配置 脱敏处理Converter ##### a、通过关键字脱敏 ```xml ``` ##### b、通过正则表达式脱敏 ```xml ``` ### logback.xml配置样例(通过关键字脱敏) ````xml ... INFO ACCEPT DENY 日志文件名 true idCardNo:cardId;idNo,trueName:realName sessionId 128 2048 UTF-8 日志文件名-%d{yyyy-MM-dd}-%i.log 64MB 7 ${PATTERN} UTF-8 ... ````