Logging with Retrofit 2

前端 未结 21 1593
春和景丽
春和景丽 2020-11-22 07:33

I\'m trying to get the exact JSON that is being sent in the request. Here is my code:

OkHttpClient client = new OkHt         


        
21条回答
  •  难免孤独
    2020-11-22 08:10

    I found way for Print Log in Retrofit

    OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(new Interceptor() {
                    @Override
                    public Response intercept(Chain chain) throws IOException {
                        Request request = chain.request();
                        if (BuildConfig.DEBUG) {
                            Log.e(getClass().getName(), request.method() + " " + request.url());
                            Log.e(getClass().getName(), "" + request.header("Cookie"));
                            RequestBody rb = request.body();
                            Buffer buffer = new Buffer();
                            if (rb != null)
                                rb.writeTo(buffer);
                            LogUtils.LOGE(getClass().getName(), "Payload- " + buffer.readUtf8());
                        }
                        return chain.proceed(request);
                    }
                })
                .readTimeout(60, TimeUnit.SECONDS)
                .connectTimeout(60, TimeUnit.SECONDS)
                .build();
    
                iServices = new Retrofit.Builder()
                        .baseUrl("Your Base URL")
                        .client(okHttpClient)
                        .addConverterFactory(GsonConverterFactory.create())
                        .build()
                        .create(Your Service Interface .class);
    

    Works for me.

提交回复
热议问题