Logging with Retrofit 2

前端 未结 21 1727
春和景丽
春和景丽 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:05

    hey guys,i already find solution:

      public static  T createApi(Context context, Class clazz, String host, boolean debug) {
        if (singleton == null) {
            synchronized (RetrofitUtils.class) {
                if (singleton == null) {
                    RestAdapter.Builder builder = new RestAdapter.Builder();
                    builder
                            .setEndpoint(host)
                            .setClient(new OkClient(OkHttpUtils.getInstance(context)))
                            .setRequestInterceptor(RequestIntercepts.newInstance())
                            .setConverter(new GsonConverter(GsonUtils.newInstance()))
                            .setErrorHandler(new ErrorHandlers())
                            .setLogLevel(debug ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE)/*LogLevel.BASIC will cause response.getBody().in() close*/
                            .setLog(new RestAdapter.Log() {
                                @Override
                                public void log(String message) {
                                    if (message.startsWith("{") || message.startsWith("["))
                                        Logger.json(message);
                                    else {
                                        Logger.i(message);
                                    }
                                }
                            });
                    singleton = builder.build();
                }
            }
        }
        return singleton.create(clazz);
    }
    

提交回复
热议问题