【问题标题】:Is there a possibility to exclude certain service calls for http logging?是否有可能排除某些服务调用以进行 http 日志记录?
【发布时间】:2019-12-20 18:52:37
【问题描述】:
【问题讨论】:
标签:
android
kotlin
retrofit
interceptor
okhttp3
【解决方案1】:
拦截器旨在与您的每个 http 调用挂钩,以便您可以观察到什么在上升,什么在下降。
但是为了减少拦截的 API 调用,您可以创建 2 个不同的改造客户端,一个带有 OkHttpClient,另一个没有任何客户端。
因此,您可以使用不想拦截的常规 Retrofit 客户端请求您的 Api,对于其他 API,请使用带有日志拦截的 OKHTTP 客户端。
【解决方案2】:
你可以使用两个 OkHttpClient 实例,一个有拦截器,一个没有拦截器:
OkHttpClient okHttpClientWithLogging = new OkHttpClient.Builder()
.addInterceptor(logging)
.build();
OkHttpClient okHttpClientWithoutLogging = new OkHttpClient.Builder()
.build();