okhttp日志不打印

okhttp log not printing

我正在构建一个 api 客户端,使用此方法进行改造:

private fun createNewApiClient(authRefreshClient: AuthRefreshClient,
                                   preferencesInteractor: PreferencesInteractor): ApiClient {
        val loggingInterceptor = HttpLoggingInterceptor(PrettyLogger())
        loggingInterceptor.level = if (BuildConfig.DEBUG) HttpLoggingInterceptor.Level.BODY else HttpLoggingInterceptor.Level.NONE


        val okHttpClient = createHttpClientBuilder()
                .addInterceptor(loggingInterceptor)
                .build()

        return Retrofit.Builder()
                .client(okHttpClient)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
           
                .baseUrl(Interactors.apiEndpoint)
                .build()
                .create(ApiClient::class.java)
    }

调试在我生成的 BuildConfig 文件中设置为 true:

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");

}

我可以确认我正在与此客户端进行的调用正在进行,因为我在 RX 的订阅的可抛出部分中放置了很多语句:

Interactors.api.apiClient.getUserByEmail(email).
                .subscribe({
                    Log.d("Email exists")
                   //Success
                }, {

        
             Log.e("Call is failing")
                     
                    }
                })

但是请求正文没有出现在我的日志语句中。 okhttp 没有显示任何内容。我的 okhttp 实现有什么问题?

尝试用 HttpLoggingInterceptor

中的记录器替换您的 PrettyLogger()

所以替换你的:

val loggingInterceptor = HttpLoggingInterceptor(PrettyLogger())

进入:

val loggingInterceptor = HttpLoggingInterceptor()