Spring|Spring Boot 输出 Web 请求响应报文

1. 需求描述 在实际的开发中,为了日志审计、调试验证,经常有输出 Web 请求和响应报文的需求。传统的做法可以在 JavaEE 的 Filter 或者 Spring MVC 提供的 Interceptor 中实现。
上述实现方式存在一个问题就是请求报文是流式传递的,如果对当前报文流读取并进行输出,controller层会得不到报文,因此通常采用 Wrapper 的方式对 HttpServletRequest 对象进行包装。
2. Spring Boot 提供的开箱即用配置 Spring Boot 对上述功能提供了开箱即用的功能,只需要做如下两个配置:

  1. 【Spring|Spring Boot 输出 Web 请求响应报文】配置 web 组的日志级别为 debug
    logging.level.web=debug

  2. 配置输出日志参数
    # for servlet spring.mvc.log-request-details=true # properties for reactive # spring.codec.log-request-details=true

如上配置即可实现请求响应报文的输出

    推荐阅读