Thanks for the answer from Tanfruk Tangfianfang.
I improved it to support all Java Platform not only for Android .
Create PrettyLogger Class
class PrettyLogger implements HttpLoggingInterceptor.Logger { private Gson mGson = new GsonBuilder().setPrettyPrinting().create(); private JsonParser mJsonParser = new JsonParser(); @Override public void log(String message) { String trimMessage = message.trim(); if ((trimMessage.startsWith("{") && trimMessage.endsWith("}")) || (trimMessage.startsWith("[") && trimMessage.endsWith("]"))) { try { String prettyJson = mGson.toJson(mJsonParser.parse(message)); Platform.get().log(INFO, prettyJson, null); } catch (Exception e) { Platform.get().log(WARN, message, e); } } else { Platform.get().log(INFO, message, null); } } }
Use in Buidler:
OkHttpClient.Builder builder = new OkHttpClient().newBuilder(); HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(new PrettyLogger()); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); builder.addInterceptor(loggingInterceptor);
source share