目录
-
- [一 概述](#一 概述)
-
- [1.1 日志级别](#1.1 日志级别)
- [二 使用](#二 使用)
-
- [2.1 引入依赖](#2.1 引入依赖)
- [2.2 创建对象](#2.2 创建对象)
- [2.3 添加拦截器](#2.3 添加拦截器)
- [三 结果展示](#三 结果展示)
-
- [3.1 日志级别为BODY](#3.1 日志级别为BODY)
- [3.2 日志级别为BASIC](#3.2 日志级别为BASIC)
- [3.3 日志级别为HEADERS](#3.3 日志级别为HEADERS)
- 参考
一 概述
HttpLoggingInterceptor是OkHttp3提供的拦截器,用来记录HTTP请求和响应的详细信息。
1.1 日志级别
- BODY
记录请求和响应的头部信息、body内容,以及BASIC级别的信息。注意,记录body内容可能会消耗资源,并且会读取body数据,这可能会影响请求的执行。 - BASIC
记录请求类型、URL、响应状态码以及响应时间。 - HEADERS
记录请求和响应的头部信息,以及BASIC级别的信息。 - NONE
不记录任何日志。
二 使用
2.1 引入依赖
groovy
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
2.2 创建对象
kotlin
val logInterceptor = HttpLoggingInterceptor {
message -> Log.d("retrofit", message)
}.apply {
level = HttpLoggingInterceptor.Level.BODY
}
2.3 添加拦截器
kotlin
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