Android 网络框架 HttpLoggingInterceptor优化

goldendog 发布于1年前 阅读19392次
0 条评论

前言

本篇文章提供了一个打印日志工具类,是基于凯子哥的KLog,对OkHttpHttpLoggingInterceptor做了小幅修改,使得打印出来的json语句更便于阅读,方便排查问题。

项目地址在:LogUtil

效果图(json太长,分两段截了图):
up

down

1. 使用

在初始化OkHttp时使用HttpLoggingInterceptorM类,我对原有的HttpLoggingInterceptor 做了一些小修改,使其更方便调用 LogUtil。

//添加HttpLoggingInterceptorM

HttpLoggingInterceptorM interceptor = new HttpLoggingInterceptorM(new LogInterceptor());
interceptor.setLevel(HttpLoggingInterceptorM.Level.BODY);

OkHttpClient okHttpClient = new OkHttpClient.Builder().addInterceptor(interceptor)
                .build();

然后在直接调用时就会在Monitor里面查看打印出来的结果。

默认打印的网络日志的tag是OkHttp,你也可以通过new LogInterceptor("your_tag") 的构造函数传入你想要的tag。

该工具类是基于OkHttp 3.4.1,如果你项目中使用的是3.3.1,稍微改下就OK。

2. 存在的问题

因为网络请求的并发的,所以有时打印日志时会断掉,不连续,但影响不大。

 

结语

希望这个工具类能对你有帮助。再次感谢凯子哥的KLog,写的真的好。

查看原文:Android 网络框架 HttpLoggingInterceptor优化

 

需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。