Retrofit不会打印日志。日志级别设置为详细。也试过HttpLoggingInterceptor。
使用这些渐变
new Frame().setDetails(new InterfaceClass("path/to/some/folder"));
代码
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.1'
答案 0 :(得分:4)
在某些情况下,您需要在某些物理Android设备上允许扩展日志。 这可以在android手机设置的开发者菜单中完成。
答案 1 :(得分:2)
事实上,我不知道你为什么不看日志,但这是我的代码的一部分工作正常:
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addInterceptor(logging);
String creditentials = username + ":" + password;
_base64 = "Basic " + Base64.encodeToString(creditentials.getBytes(), Base64.NO_WRAP);
Interceptor authorization = chain -> {
Request newRequest = chain.request().newBuilder()
.addHeader("Authorization", _base64)
.addHeader("Accept", "application/json")
.build();
return chain.proceed(newRequest);
};
httpClientBuilder.addInterceptor(authorization);
_retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.baseUrl(API_URL)
.client(httpClientBuilder.build())
.build();
答案 2 :(得分:2)
在某些设备(模拟器或真实的Android设备)上,默认情况下禁用日志记录。您需要启用此选项才能查看日志。 与魅族M3进行了尝试。
转到开发者选项。
找到性能优化。
请注意,对于不同的设备,步骤可能会稍有不同。
答案 3 :(得分:0)
当我的模拟器上的开发人员选项中的日志缓冲区设置为关闭时,我遇到了没有看到OkHttp网络日志的问题,因此在我更改为任何其他值(例如16m并再次尝试)后,它会正确显示日志。 / p>
答案 4 :(得分:0)
在我的情况下,我忘记了呼叫setLevel(HttpLoggingInterceptor.Level.BASIC)
,并且默认情况下它被隐式设置为NONE
。