Я не получаю логи запросов и ответов на запросы в андроид студии.
Я даже использую HttpLogginInterceptor в Retrofit2. Но я не могу видеть журналы тела запроса и тела ответа в Logcat.
Вот мой модифицированный клиент:
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class RestClient {
private static RestClient restClient;
private Retrofit retrofitAuth;
private Retrofit retrofit;
/**
* only to be used for auth
*/
public static WebServices webServices() {
return getRestClient().getRetrofitInstance().create(WebServices.class);
}
public static WebServices webAuthServices() {
return getRestClient().getAuthRetrofitInstance().create(WebServices.class);
}
private static RestClient getRestClient() {
if (restClient == null) {
restClient = new RestClient();
}
return restClient;
}
private Retrofit getRetrofitInstance() {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(BuildConfig.API_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(getOkHttpClient())
.build();
}
return retrofit;
}
private Retrofit getAuthRetrofitInstance() {
if (retrofitAuth == null) {
retrofitAuth = new Retrofit.Builder()
.baseUrl(BuildConfig.API_URL)
.client(getAuthOkHttpClient())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofitAuth;
}
private OkHttpClient getOkHttpClient() {
return new OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.addInterceptor(new ConnectivityInterceptor())
.addInterceptor(new HeaderAdder())
.addInterceptor(new AuthInterceptor())
.addInterceptor(getHttpLoggingInterceptor())
.build();
}
private OkHttpClient getAuthOkHttpClient() {
return new OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.addInterceptor(new HeaderAdder())
.addInterceptor(new ConnectivityInterceptor())
.addInterceptor(getHttpLoggingInterceptor())
.build();
}
private HttpLoggingInterceptor getHttpLoggingInterceptor() {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
return logging;
}
public static void destroyRestClient() {
restClient = null;
}
}
Как вы можете видеть вторую последнюю функцию, которая возвращает HttpLoggingInterceptor,
и я передаю его моему клиенту okhttp, а затем этот клиент добавляется в модифицированный экземпляр. Но я все еще не могу видеть логи. Пожалуйста, помогите.