Retrofit打印请求地址和返回内容
2016-11-17 15:39
369 查看
用过retrofit的同学,肯定会很爽,因为用起来实在是方便。但是我之前在使用retrofit的时候,发现没法打印出网络请求日志,包括请求urll、返回内容等。要实现打印日志,就要用到HttpLoggingInterceptor这个类。下面给大家讲一下如何打印出这些内容。
2、初始化HttpLoggingInterceptor
3、配置okhttp
4、配置retrofit
类型为BASIC,其实日志级别分为4类:NONE、BASIC、HEADERS、BODY。
大家看下我打印出来的日志,就知道这4类的区别了。
1、NONE
2、BASIC
请求/响应行
3、HEADERS
请求/响应行 + 头
4、BODY
请求/响应行 + 头 + 体
步骤
1、导入库compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
2、初始化HttpLoggingInterceptor
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { @Override public void log(String message) { //打印retrofit日志 Log.i("RetrofitLog","retrofitBack = "+message); } }); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
3、配置okhttp
client = new OkHttpClient.Builder() .cache(cache) .addInterceptor(loggingInterceptor) .connectTimeout(mTimeOut, TimeUnit.SECONDS) .readTimeout(mTimeOut, TimeUnit.SECONDS) .writeTimeout(mTimeOut, TimeUnit.SECONDS) .build();
4、配置retrofit
Retrofit retrofit = new Retrofit.Builder() .baseUrl(userCenter) .client(client) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .build();
日志级别
大家看到配置loggingInterceptor的时候loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
类型为BASIC,其实日志级别分为4类:NONE、BASIC、HEADERS、BODY。
大家看下我打印出来的日志,就知道这4类的区别了。
1、NONE
没有任何log
2、BASIC
请求/响应行
basic的格式: --> POST 地址 http/1.1 (0-byte body) <-- 200 OK 地址 (154ms, unknown-length body)
3、HEADERS
请求/响应行 + 头
4、BODY
请求/响应行 + 头 + 体
相关文章推荐
- Retrofit打印请求地址和返回内容
- 使用Retrofit打印请求日志,过滤改变服务器返回结果,直接获取String字符串
- Retrofit2.0+OkHttp打印Request URL(请求地址参数)
- 给retrofit 的 添加okhttp的拦截器,可以让她显示 请求和返回的信息 ,便于查找错误
- iOS——打印内容,NSLog自定义对象的内容如何打印出来,而不是只打印地址
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法
- 通过URL返回请求的内容 C#
- C#根据经纬度请求返回坐标实际地址
- RxJava Retrofit2 网络请求,返回数据格式统一的数据报文处理方法
- beego打印请求http内容
- linux网络编程5:gethostbyname&&向固定地址发起请求得到返回页面字符
- RxJava Retrofit2 网络请求,返回数据格式统一的数据报文处理方法
- 远程获取网页内容类(请求,返回请求页面内容)
- Retrofit2打印 网络请求日志
- retrofit请求直接返回string
- Android初识-通过URL地址请求并返回JSON数据
- C# C/S程序请求网页地址,并获取返回数据代码
- url请求返回状态码与状态内容 (in python)
- [Java] 两种发起POST请求方法,并接收返回的响应内容的处理方式
- javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe