Retrofit2.0添加日志拦截器打印URL一级返回数据

 
 
 
  
//定制OkHttp
OkHttpClient.Builder httpClientBuilder = new OkHttpClient
        .Builder();
if (BuildConfig.DEBUG) {//发布版本不再打印 
    // 日志显示级别 
    HttpLoggingInterceptor.Level level= HttpLoggingInterceptor.Level.BASIC; 
    //新建log拦截器 
    HttpLoggingInterceptor loggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { 
        @Override 
        public void log(String message) {
            LogUtil.e("test","OkHttp====Message:"+message); 
        } 
    }); 
    loggingInterceptor.setLevel(level); 
    //OkHttp进行添加拦截器loggingInterceptor
    httpClientBuilder.addInterceptor(loggingInterceptor);
}
Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(HttpHelper.HOST.toString())
        .client(httpClientBuilder.build())
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .build();

HttpLoggingInterceptor.Level共包含四个级别:NONE、BASIC、HEADER、BODY

NONE 不记录

BASIC 请求/响应行--> POST /greeting HTTP/1.1 (3-byte body)<-- HTTP/1.1 200 OK (22ms, 6-byte body)

HEADER 请求/响应行 + 头--> Host: example.comContent-Type: plain/textContent-Length: 3<-- HTTP/1.1 200 OK (22ms)Content-Type: plain/textContent-Length: 6

BODY 请求/响应行 + 头 + 体

可以通过 setLevel 改变日志级别


猜你喜欢

转载自blog.csdn.net/xiaoyi848699/article/details/79347666