Android OkHttp3中HttpLoggingInterceptor使用

一 概述

HttpLoggingInterceptor是OkHttp3提供的拦截器,用来记录HTTP请求和响应的详细信息。

1.1 日志级别

  • BODY
    记录请求和响应的头部信息、body内容,以及BASIC级别的信息。注意,记录body内容可能会消耗资源,并且会读取body数据,这可能会影响请求的执行。
  • BASIC
    记录请求类型、URL、响应状态码以及响应时间。
  • HEADERS
    记录请求和响应的头部信息,以及BASIC级别的信息。
  • NONE
    不记录任何日志。

二 使用

2.1 引入依赖

implementation 'com.squareup.okhttp3:okhttp:4.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'

2.2 创建对象

val logInterceptor =  HttpLoggingInterceptor {
    message -> Log.d("retrofit", message)
}.apply {
    level = HttpLoggingInterceptor.Level.BODY
}

2.3 添加拦截器

 private val okHttpClient: OkHttpClient
        get() =OkHttpClient.Builder()
            //日志拦截器
            .addInterceptor(logInterceptor)
            //请求超时时间
            .connectTimeout(TIME_OUT_SECONDS,TimeUnit.SECONDS)
            .build()

三 结果展示

3.1 日志级别为BODY

在这里插入图片描述

3.2 日志级别为BASIC

在这里插入图片描述

3.3 日志级别为HEADERS

在这里插入图片描述

参考

https://blog.csdn.net/weixin_37477009/article/details/136142311

相关推荐

  1. vue3使用ref

    2024-07-15 05:54:01       32 阅读
  2. Vue3teleport如何使用

    2024-07-15 05:54:01       44 阅读
  3. sqlite3使用的问题

    2024-07-15 05:54:01       74 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 05:54:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 05:54:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 05:54:01       58 阅读
  4. Python语言-面向对象

    2024-07-15 05:54:01       69 阅读

热门阅读

  1. vue 中时间日期格式处理

    2024-07-15 05:54:01       18 阅读
  2. leetcode239.滑动窗口最大值

    2024-07-15 05:54:01       13 阅读
  3. SQL基础 | NOT NULL 约束介绍

    2024-07-15 05:54:01       23 阅读
  4. 算法金 | 深度学习图像增强方法总结

    2024-07-15 05:54:01       17 阅读
  5. rabbitmq解除消息者消息推送限制

    2024-07-15 05:54:01       23 阅读