【问题标题】:Is there a possibility to exclude certain service calls for http logging?是否有可能排除某些服务调用以进行 http 日志记录?
【发布时间】:2019-12-20 18:52:37
【问题描述】:

https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor 的上下文中,是否有可能排除某些服务调用? 在我的应用程序中有 2-3 个 HTTP 调用,我不希望日志拦截器记录它。

是否有可能覆盖 HttpLoggingInterceptor 类中的拦截方法?是否有可能编写一个注释处理器,从日志记录中排除/忽略某些服务调用?

【问题讨论】:

    标签: 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();
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多