美文网首页
在OkHttp或者Retrofit中使用日志过滤器

在OkHttp或者Retrofit中使用日志过滤器

作者: 加油小李 | 来源:发表于2020-07-26 09:24 被阅读0次

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);

    }

}

重写log方法

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();

在Retrofit中使用

End.

相关文章

网友评论

      本文标题:在OkHttp或者Retrofit中使用日志过滤器

      本文链接:https://www.haomeiwen.com/subject/rnzilktx.html