Retrofit OkHttp3 打印日志 网络请求参数配置

2024-03-16 11:38

本文主要是介绍Retrofit OkHttp3 打印日志 网络请求参数配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、用过Retrofit的朋友肯定知道使用Retrofit进行网络网络请求非常的方便简洁,但是要打印网络请求的日志还是要自己另想办法。昨天在网上找了一圈,发现要打印日志,大部分的帖子都是引入OkHttp3的日志库。

implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'

2、通过OkHttp3 对日志和其他网络请求参数进行配置,通过下面这句进行关联

关联okhttp

new Retrofit.Builder().client(httpClient.build())

关联gson

new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson))

完整代码如下:

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();//设置日志Levelif (BuildConfig.DEBUG) {// development buildlogging.setLevel(HttpLoggingInterceptor.Level.BODY);} else {// production buildlogging.setLevel(HttpLoggingInterceptor.Level.BASIC);}OkHttpClient.Builder httpClient = new OkHttpClient.Builder().connectTimeout(15, TimeUnit.SECONDS).readTimeout(15, TimeUnit.SECONDS).writeTimeout(15, TimeUnit.SECONDS)//添加拦截器到OkHttp,这是最关键的.addInterceptor(logging);Log.w("tan","postBodyRequest");Gson gson=new Gson();//步骤4:创建Retrofit对象Retrofit retrofit = new Retrofit.Builder().baseUrl("http://XXX.XXX.X.XXX:9001/dp-bussintf/") // 设置 网络请求 Url.addConverterFactory(GsonConverterFactory.create(gson)) //设置使用Gson解析(记得加入依赖).client(httpClient.build()).build();

HttpLoggingInterceptor为我们提供了四种不同的Level,它们分别是NONE, BASIC, HEADERS, BODY
分别表示

  • NONE:没有记录
  • BASIC:日志请求类型,URL,请求体的大小,响应状态和响应体的大小
  • HEADERS:日志请求和响应头,请求类型,URL,响应状态
  • BODY:日志请求和响应标头和正文


3、自定义日志(重写 HttpLoggingInterceptor )可以参考这文章

https://blog.csdn.net/u010618194/article/details/75151960

 

 

ps:

参考文章:https://www.jianshu.com/p/8e84b827452a

 

这篇关于Retrofit OkHttp3 打印日志 网络请求参数配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815374

相关文章

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.