当前位置: 首页 > news >正文

SpringBoot开发——整合Logbook进行HTTP API请求响应日志输出

文章目录

  • 1. 简介
    • 依赖管理
  • 2. 实战案例
    • 2.1 基本用法
    • 2.2 结合Logback日志记录到文件
    • 2.3 自定义核心类Logbook
    • 2.4 自定义日志输出Sink
    • 2.5 与RestTemplate集成

1. 简介

记录HTTP API请求响应日志对于监控、调试和性能优化至关重要。它帮助开发者追踪API的使用情况,包括请求来源、参数、响应状态码及耗时等,从而快速定位问题、分析用户行为及评估系统性能。在生产环境中,合理的日志记录策略能及时发现并预警潜在问题,减少故障影响。

在本篇文章中 我将介绍一款非常强大的Logbook库,它可为不同的客户端和服务器端技术提供完整的请求和响应日志。它允许开发人员记录应用程序接收或发送的任何 HTTP 流量。这可用于日志分析、审计或调查流量问题。

Logbook实用非常的简单,它针对spring boot提供了starter,根据你当前spring boot使用的版本引入不同版本的Logbook即可。

依赖管理

<properties><!--如果你使用的springboot2.x版本请引入2.16.0版本--><logbook.version>2.16.0</logbook.version><!--如果你使用的springboot3.x版本请引入3.9.0版本--><logbook.version>3.9.0</logbook.version>
</properties>
<dependency><groupId>org.zalando</groupId><artifactId>logbook-spring-boot-starter</artifactId><version>${logbook.version}</version>
</dependency>

注意:上面使用的版本说明。

2. 实战案例

根据上面,引入了相关的依赖后,还需要进行如下的配置

logging:level:org.zalando.logbook.Logbook: TRACE

调整Logbook日志级别为TRACE。

2.1 基本用法

根据上面配置的日志级别,接下来你可以不用做任何的配置,随意访问一个接口就能在控制台看到非常详细的信息

// 接口
@GetMapping("/hello")public String Hello(){return "hello";}

访问上面的接口,控制台输出如下:
在这里插入图片描述
这里看到了详细的请求/响应信息。

输出格式配置

以上日志是以json格式输出,也是默认格式,它还支持:httpcurlsplunk格式。
比如我们设置成如

http://www.lryc.cn/news/435583.html

相关文章:

  • 【嵌入式开发 Linux 常用命令系列 7.1 -- git log 只显示日期和主题(title)和commit id】
  • Android Radio2.0——交通公告状态设置(二)
  • 用centos安装远程迅雷失败,重写程序做一台下载服务器
  • Mysql基础练习题 1407.排名靠前的旅行者(力扣)
  • 一维稳态与非稳态导热的详细分析
  • 以太坊开发环境
  • 深入理解Java虚拟机:Jvm总结-虚拟机字节码执行引擎
  • 第十一周:机器学习
  • 碰撞检测 | 详解圆-矩形碰撞检测与N圆覆盖模型(附ROS C++可视化)
  • pandas读取Excel文件单元格中的百分数时保持数据格式及精度
  • 【重学 MySQL】二十五、等值连接vs非等值连接、自连接vs非自连接
  • Springboot工程配置https访问
  • 智慧水务建设的核心内容
  • opencv之图像轮廓
  • shader 案例学习笔记之step函数
  • node快速复制文件或文件夹,排除部分文件(node_modules)
  • 网络层 VIII(网络层设备——路由器)【★★★★★★】
  • 302.AI学术论文搜索工具的智能体验
  • arm平台常用工具和动态库编译
  • 代码随想录训练营day45|115.不同的子序列,583. 两个字符串的删除操作,72. 编辑距离
  • 椋鸟C++笔记#7:标准模板库STL初识
  • 滴滴嘀嗒,出行行业响起Robotaxi“倒计时”
  • 【MATLAB源码-第264期】基于matlab的跳频通信系统仿真,采用MSK调制方式,差分解调;输出误码率曲线和各节点波形图。
  • 如何在多台电脑上同步 VSCode配置和插件
  • 深度优先算法,广度优先算法,hill climbing,贪心搜索,A*算法,启发式搜索算法是什么,比起一般搜索法算法有什么区别
  • 《python语言程序设计》2018版第8章第14题金融:信用卡号合法性 利用6.29题
  • QT 基础学习
  • 【Gephi】可视化教程
  • 演化式原型开发-系统架构师(六十五)
  • 初识爬虫4