第3章 自定义日志拦截器:日志格式设计、请求/响应头与体打印、避免敏感信息泄露
3.1 原理概述
OkHttp 的拦截器链(Interceptor Chain)在请求/响应处理过程中提供了一个可插拔的观察层。自定义日志拦截器本质上是实现 Interceptor 接口,在 intercept() 方法中拦截原始 Request 与最终 Response,并通过 chain.proceed() 传递处理。
日志拦截器的核心价值在于:
- 开发阶段:完整记录 HTTP 报文,便于调试接口参数、Header 设置与响应结构。
- 测试阶段:在后台任务中自动捕获请求/响应快照,无需人工抓包。
- 生产风险:必须对敏感字段(如 、密码、身份证号)进行脱敏处理,防止日志泄露。
核心原则:拦截器应优先打印可控长度的文本体,对二进制/大文件体需限制截断或跳过;所有认证、支付等隐私数据必须使用掩码替换。