打印okhttp请求log信息
2017-10-21 15:13
260 查看
package com.example.kson.httpsdemo;
import android.util.Log;
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.Request;
/**
* Author:kson
* E-mail:19655910@qq.com
* Time:2017/10/18
* Description:
*/
public class LogInterceptor implements Interceptor {
public static String TAG = "LogInterceptor";
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
long startTime = System.currentTimeMillis();
okhttp3.Response response = chain.proceed(chain.request());
long endTime = System.currentTimeMillis();
long duration=endTime-startTime;
okhttp3.MediaType mediaType = response.body().contentType();
String content = response.body().string();
Log.d(TAG,"\n");
Log.d(TAG,"----------Start----------------");
Log.d(TAG, "| "+request.toString());
String method=request.method();
if("POST".equals(method)){
StringBuilder sb = new StringBuilder();
if (request.body() instanceof FormBody) {
FormBody body = (FormBody) request.body();
for (int i = 0; i < body.size(); i++) {
sb.append(body.encodedName(i) + "=" + body.encodedValue(i) + ",");
}
sb.delete(sb.length() - 1, sb.length());
Log.d(TAG, "| RequestParams:{"+sb.toString()+"}");
}
}
Log.d(TAG, "| Response:" + content);
Log.d(TAG,"----------End:"+duration+"毫秒----------");
return response.newBuilder()
.body(okhttp3.ResponseBody.create(mediaType, content))
.build();
}
}
import android.util.Log;
import java.io.IOException;
import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.Request;
/**
* Author:kson
* E-mail:19655910@qq.com
* Time:2017/10/18
* Description:
*/
public class LogInterceptor implements Interceptor {
public static String TAG = "LogInterceptor";
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request request = chain.request();
long startTime = System.currentTimeMillis();
okhttp3.Response response = chain.proceed(chain.request());
long endTime = System.currentTimeMillis();
long duration=endTime-startTime;
okhttp3.MediaType mediaType = response.body().contentType();
String content = response.body().string();
Log.d(TAG,"\n");
Log.d(TAG,"----------Start----------------");
Log.d(TAG, "| "+request.toString());
String method=request.method();
if("POST".equals(method)){
StringBuilder sb = new StringBuilder();
if (request.body() instanceof FormBody) {
FormBody body = (FormBody) request.body();
for (int i = 0; i < body.size(); i++) {
sb.append(body.encodedName(i) + "=" + body.encodedValue(i) + ",");
}
sb.delete(sb.length() - 1, sb.length());
Log.d(TAG, "| RequestParams:{"+sb.toString()+"}");
}
}
Log.d(TAG, "| Response:" + content);
Log.d(TAG,"----------End:"+duration+"毫秒----------");
return response.newBuilder()
.body(okhttp3.ResponseBody.create(mediaType, content))
.build();
}
}
相关文章推荐
- Okhttpinterceptor____用于打印Okhttp的请求头响应头的信息
- Android 让adb logcat打印内核调试信息
- tomcat的acess_log打印post请求参数,分析日志
- 随笔- printf不能打印log信息
- android ndk 入门之打印log信息
- Log技巧 打印上一个类名 调用流程 堆栈信息
- 把e.printStackTrace的堆栈信息打印在log.error()中
- 华为手机的Log信息打印设置
- android中Log打印日志相关信息
- 把e.printStackTrace的堆栈信息打印在log.error()中
- android ndk 入门之打印log信息
- OkHttp上传文件,服务器端请求解析找不到文件信息的问题
- 给retrofit 的 添加okhttp的拦截器,可以让她显示 请求和返回的信息 ,便于查找错误
- Android部分开源项目源码分析--log信息的打印
- android jni打印log信息
- Android初学之------Log 工具类,方便查看打印log的位置 类名信息
- android调试输出log打印信息到本地文件
- OkHttp:拦截器之网络请求Log
- android log 信息打印
- Android 让adb logcat打印内核调试信息