1,首先引入依赖 implementation'com.squareup.okhttp3:logging-interceptor:3.9.1'
版本必须跟Okhttp版本一直不然报错

2, 创建一个类继承Logger 并重写log方法
import android.util.Log;
import okhttp3.logging.HttpLoggingInterceptor;
public class HttpLoggerimplements HttpLoggingInterceptor.Logger {
@Override
public void log(String message) {
Log.d("HttpLogInfo", message);
}
}

3, 创建OkHttpClient对象并设置日志过滤器
/**
* 初始化okhttpclient.
*
* @return okhttpClient
*/
private static OkHttpClientokhttpclient() {
if (mOkHttpClient ==null) {
HttpLoggingInterceptor logInterceptor =new HttpLoggingInterceptor(new HttpLogger());
logInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
mOkHttpClient =new OkHttpClient.Builder()
.connectTimeout(15, TimeUnit.SECONDS)
.addNetworkInterceptor(logInterceptor)
.build();
}
return mOkHttpClient;
}

4,如果使用是Retrofit将OkHttpClint对象传给Retrofit
Retrofit retrofit =new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client(okhttpclient())
.build();

End.
网友评论