Spring中使用Apache Http客户端调第三方系统接口临时查看请求体参数
问题
最近我们自己系统调用第三方系统接口出现了问题,本来打算通过调用链监控查看一下具体请求体是什么样子,结果AWS的OpenTelemetry并没有捕获请求体参数。
解决
通过临时改变Apache Http客户端的日志级别为DEBUG,然后,使用Spring Actuator配置刷新接口的方式让配置动态生效,即可。
步骤
配置Spring中Apache HTTP客户端日志级别为DEBUG:
logging.level.org.apache.hc.client5.http: DEBUG
logging.level.org.apache.http: DEBUG
然后,登录服务器手动调用如下接口,实现配置动态刷新:
curl -v -X POST http://127.0.0.1:8080/actuator/refresh
刷新成功后,就可以通过日志看到请求体参数了。
测试
总结
通过Spring的日志级别参数,将http相关包的日志级别从INFO改成DEBUG,即可查看详细的请求体参数。
参考
- 使用 cURL 发送 JSON 格式的 POST 请求的步骤