1.2 KiB
1.2 KiB
Android Studio 调试 HTTP 日志
目标
- 仅在调试构建中输出 Dio 请求、响应与异常日志。
- Android Studio Run 控制台通过
debugPrint展示,logcat 标签保持flutter。 - Authorization 脱敏,X-Device-Id 保留,二进制响应只显示字节数。
- 单条请求体或响应体最多 3000 字符。
实现步骤
- 新增
NetworkLogInterceptor,支持注入日志回调并保留请求耗时。 - 在 Envelope 解包前暂存原始 bytes;日志拦截器追加到拦截链末尾后读取暂存值。
- 在
ApiClient注册调试拦截器,kDebugMode与常量开关同时满足时才输出。 - 以 fake adapter 补单测,覆盖行格式、脱敏、UTF-8、截断、非 JSON 与二进制。
- 运行
dart analyze lib test和flutter test,更新 PROGRESS 留痕。
风险与约束
ResponseType.bytes不能直接toString,响应体统一utf8.decode。- Dio 响应拦截器按 FIFO 执行;链尾日志通过 Envelope 暂存的原始 bytes 读取,
避免拿到已解包后的
data。 - release/profile 通过
kDebugMode短路,不输出任何 HTTP 日志。 - 不新增依赖,不提交现有
pubspec.lock改动,不启停服务、不操作真机。