jeasonlzy / okhttp-OkGo

OkGo - 3.0 震撼来袭,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能
Apache License 2.0
10.59k stars 2.55k forks source link

配置拦截器不起作用 #664

Open jingzz1 opened 6 years ago

jingzz1 commented 6 years ago

自定义了LoggerInterceptor ,但是没起作用

OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.addInterceptor(new LoggerInterceptor("OkGo"));`

` private Response logForResponse(Response response) {
        try {
            if (showResponse) {
                //===>response log
                Log.e(tag, "========response'log=======");
                Response.Builder builder = response.newBuilder();
                Response clone = builder.build();
                Log.e(tag, "url : " + clone.request().url());
                Log.e(tag, "code : " + clone.code());
                Log.e(tag, "protocol : " + clone.protocol());
                if (!TextUtils.isEmpty(clone.message()))
                    Log.e(tag, "message : " + clone.message());

                ResponseBody body = clone.body();
                if (body != null) {
                    MediaType mediaType = body.contentType();
                    if (mediaType != null) {
                        Log.e(tag, "responseBody's contentType : " + mediaType.toString());
                        if (isText(mediaType)) {
                            String resp = body.string();
                            Log.e(tag, "responseBody's content : " + resp);

                            body = ResponseBody.create(mediaType, resp);
                            return response.newBuilder().body(body).build();
                        } else {
                            Log.e(tag, "responseBody's content : " + " maybe [file part] , too large too print , ignored!");
                        }
                    }
                }
                Log.e(tag, "========response'log=======end");
            }

        } catch (Exception e) {
//            e.printStackTrace();
            Log.e(tag,e.toString());
        }

        return response;
    }
`
jingzz1 commented 6 years ago

解决了

hrx3627 commented 6 years ago

是什么原因?

yobdms commented 1 year ago

为什么设置了不起作用?

HttpLoggingInterceptor log = new HttpLoggingInterceptor("OkGo"); log.setPrintLevel(HttpLoggingInterceptor.Level.NONE); com.lzy.okgo.OkGo.getInstance().setOkHttpClient(com.lzy.okgo.OkGo.getInstance().getOkHttpClient().newBuilder().addInterceptor(log).build());