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

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</java.version>
  <!--如果你使用的springboot3.x版本请引入3.9.0版本-->
  <logbook.version>3.9.0</java.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.kler.cn/a/292331.html

相关文章:

  • AI大模型(二):AI编程实践
  • Flutter:input输入框
  • 接口文档的编写
  • 除了 TON, 哪些公链在争夺 Telegram 用户?数据表现如何?
  • linux常见资源查询命令(持续更新)
  • Android 单元测试环境配置问题 Execution failed for task ‘:mergeDebugJavaResource‘.
  • 【算法分享】双向长短期记忆(BiLSTM)及长短期记忆 (LSTM)网络详细文档
  • pdf怎么压缩小一些?推荐的几种PDF压缩方法
  • Ansible自动化运维实战:打造高效、可靠的系统管理方案!
  • 【实战指南】RESTful 从入门到精通(Spring Boot)
  • 智能家居系统(基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现)
  • TP-link-路由器上网设置(已有路由器再连接新的网线)
  • Epoll 用法
  • idea修改内存设置后,启动没反应 Error opening zip file or JAR manifest missing :
  • MQTT: PUBLISH
  • tp5中怎么用redis
  • 【CSS】background样式没有生效
  • Java项目: 基于SpringBoot+mysql网上点餐系统分前后台(含源码+数据库+答辩PPT+毕业论文)
  • 第四届先进制造技术与电子信息国际学术会议(AMTEI 2024)
  • Linux: network: TCP: errno: EWOULDBLOCK
  • 视频智能分析平台LntonAIServer安防监控平台花屏检测、马赛克检测功能介绍
  • Python知识点:在Python应用中,如何使用Confluence进行文档管理
  • npm i --legacy-peer-deps
  • 数学建模强化宝典(13)M-K检验法
  • 基于 BiLSTM+Attention 实现降雨预测多变量时序分类——明日是否降雨
  • 深入剖析工厂模式与策略模式的核心差异