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()
我正在构建一个 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()