# 日志脱敏工具
**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
...
````