okhttp添加日志监控

2018-09-28  本文已影响35人  Frank_Kivi
      HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
            private StringBuilder messages = new StringBuilder();
            private final int JSON_INDENT = 2;

            @Override
            public void log(String message) {
                try {
                    if (message.startsWith("{") && message.endsWith("}")) {
                        JSONObject jsonObject = new JSONObject(message);
                        message = jsonObject.toString(JSON_INDENT);
                    } else if (message.startsWith("[") && message.endsWith("]")) {
                        JSONArray jsonArray = new JSONArray(message);
                        message = jsonArray.toString(JSON_INDENT);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                messages.append(message);
                messages.append("\n");
                if (message.startsWith("<-- END HTTP")) {
                    Logger.i(messages.toString());
                    messages.delete(0, messages.length());
                }
            }
        });
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient client = new OkHttpClient.Builder().addNetworkInterceptor(interceptor).build();

需要添加logger的依赖:

 implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'

具体使用哪个日志记录工具,用户可以自行选择。

上一篇 下一篇

猜你喜欢

热点阅读