前言
本篇文章提供了一个打印日志工具类,是基于凯子哥的KLog,对OkHttpHttpLoggingInterceptor做了小幅修改,使得打印出来的json
语句更便于阅读,方便排查问题。
项目地址在:LogUtil
效果图(json太长,分两段截了图):
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,写的真的好。