首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >okhttp日志不打印

okhttp日志不打印
EN

Stack Overflow用户
提问于 2020-10-30 20:43:47
回答 1查看 514关注 0票数 0

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");

}

我可以确认,我正在与这个客户打电话,因为我在RX的订阅的可抛出部分中放了很多语句:

代码语言:javascript
复制
Interactors.api.apiClient.getUserByEmail(email).
                .subscribe({
                    Log.d("Email exists")
                   //Success
                }, {

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

但是请求的主体并没有出现在我的日志语句中。在okhttp上什么也没出现。我的结束语有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-30 22:01:18

尝试用来自PrettyLogger()的记录器替换您的HttpLoggingInterceptor

所以把你的替换如下:

代码语言:javascript
复制
val loggingInterceptor = HttpLoggingInterceptor(PrettyLogger())

在以下方面:

代码语言:javascript
复制
val loggingInterceptor = HttpLoggingInterceptor()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64615530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档