欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 【Java】Logbook优化接口调用日志输出,优雅!

【Java】Logbook优化接口调用日志输出,优雅!

2025/9/28 21:28:02 来源:https://blog.csdn.net/Passer_hua/article/details/140089101  浏览:    关键词:【Java】Logbook优化接口调用日志输出,优雅!

logbook 简介

很多人可能没有接触过 logbook,但它的确是一个很好用的日志框架。引用官网的介绍

Logbook 是一个可扩展的 Java 库,可以为不同的客户端和服务器端技术启用完整的请求和响应日志记录。它通过以下方式满足了特殊需求:

  • 允许 Web 应用程序开发人员记录应用程序接收或发送的任何 HTTP 流量 ,这意味着只要是 HTTP 请求它都可以选择记录日志
  • 以一种易于持久化和分析的方式。这对于传统的日志分析、满足审计要求或调查个别历史流量问题非常有用。

具体介绍可以参考 链接: logbook 官网

使用logbook

这边主要讲解logbookspringBoot2的整合
logbook 官方提供了 logbook-spring-boot-starter

简单使用

引入依赖

<!--按照官方要求 为了 Spring 5 / Spring Boot 2 向后兼容,需要导入如下依赖-->
<dependency><groupId>org.zalando</groupId><artifactId>logbook-servlet</artifactId><version>3.9.0</version><classifier>javax</classifier>
</dependency>
<dependency><groupId>org.zalando</groupId><artifactId>logbook-spring-boot-starter</artifactId><version>3.9.0</version>
</dependency>

添加配置

logging:level:org.zalando.logbook: TRACE

写个测试接口就可以看到日志了

{"origin": "remote", //remote 代表远程请求,local 代表本地发出的请求 例如 Feign"type": "request","correlation": "b2b2b8e449d7b650", //请求唯一id"protocol": "HTTP/1.1","remote": "0:0:0:0:0:0:0:1","method": "GET","uri": "http://localhost:8080/consumer","headers": {"accept": ["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"],"accept-encoding": ["gzip, deflate, br"],"accept-language": ["zh-CN,zh;q=0.9"],"cache-control": ["max-age=0"],"connection": ["keep-alive"],"host": ["localhost:8080"],//...省略}
}

选择日志风格

logbook 提供了多种日志风格,默认是 JSON ,在 application.yml 中通过以下配置选择

logbook:format:style: json #默认值,可选值还有 curl、http、splunk

转载: 原文

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词