没有得到改造日志

问题描述

我想查看改装请求正文的日志 我实现了以下代码,使用以下代码我无法获取日志

 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();