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'
具体使用哪个日志记录工具,用户可以自行选择。
网友评论