问题描述
我想查看改装请求正文的日志 我实现了以下代码,使用以下代码我无法获取日志
public static Retrofit getClient(String baseUrl) {
Level logLevel = Level.BODY;
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.level(logLevel);
new OkHttpClient.Builder()
.addInterceptor(interceptor)
.build();
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
在这种情况下,请帮助我,即使我允许登录开发人员选项,仍然无法正常工作
解决方法
可能是个错误。您尚未将OkHttpClient
设置为Retrofit.Builder
,这就是为什么它使用默认客户端的原因。更改代码如下:-
public static Retrofit getClient(String baseUrl) {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.level(HttpLoggingInterceptor.Level.BODY);
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.client(new OkHttpClient.Builder()
.addInterceptor(interceptor)
.build())
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
,
// only instantiate it but not use.
new OkHttpClient.Builder()
.addInterceptor(interceptor)
.build();
您可以执行以下操作:
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new HttpLoggingInterceptor());
Retrofit retrofit = new Retrofit.Builder()
.....
.client(httpClient.build())
.build();