okhttp-OkGo
okhttp-OkGo copied to clipboard
配置拦截器不起作用
自定义了LoggerInterceptor ,但是没起作用
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.addInterceptor(new LoggerInterceptor("OkGo"));`
` private Response logForResponse(Response response) {
try {
if (showResponse) {
//===>response log
Log.e(tag, "========response'log=======");
Response.Builder builder = response.newBuilder();
Response clone = builder.build();
Log.e(tag, "url : " + clone.request().url());
Log.e(tag, "code : " + clone.code());
Log.e(tag, "protocol : " + clone.protocol());
if (!TextUtils.isEmpty(clone.message()))
Log.e(tag, "message : " + clone.message());
ResponseBody body = clone.body();
if (body != null) {
MediaType mediaType = body.contentType();
if (mediaType != null) {
Log.e(tag, "responseBody's contentType : " + mediaType.toString());
if (isText(mediaType)) {
String resp = body.string();
Log.e(tag, "responseBody's content : " + resp);
body = ResponseBody.create(mediaType, resp);
return response.newBuilder().body(body).build();
} else {
Log.e(tag, "responseBody's content : " + " maybe [file part] , too large too print , ignored!");
}
}
}
Log.e(tag, "========response'log=======end");
}
} catch (Exception e) {
// e.printStackTrace();
Log.e(tag,e.toString());
}
return response;
}
`
解决了
是什么原因?
为什么设置了不起作用?
HttpLoggingInterceptor log = new HttpLoggingInterceptor("OkGo"); log.setPrintLevel(HttpLoggingInterceptor.Level.NONE); com.lzy.okgo.OkGo.getInstance().setOkHttpClient(com.lzy.okgo.OkGo.getInstance().getOkHttpClient().newBuilder().addInterceptor(log).build());