当前位置: 首页 > 知识库问答 >
问题:

从Spring Boot过滤器中的请求获取X-B3-TraceId

祁嘉言
2023-03-14

我试图在spring boot应用程序中配置的过滤器中获取请求中的Traceid以进行审计。

public class LoggingFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
 log.info("X-B3-TraceId Id in request:: {}", httpServletRequest.getHeader("X-B3-TraceId"));
         }

我们如何从过滤器中的请求中获取Traceid

共有1个答案

苏乐
2023-03-14

当我在PCF中部署应用程序时,我能够从传入请求的头中获取跟踪id

 类似资料:
  • 我想通过Spring过滤器或方面记录超文本传输协议请求中的请求参数。我尝试了不同的方法,但请求参数为空或未调用方法。我使用的是POSTMAN,它是一个POST请求。 http://localhost:8080/available data 请求正文示例: {“keyUserAgent”:“CFNetwork/1209 Darwin/20.2.0”,“locale”:“en_US”,“eid”:“8

  • 我正在使用Spring Integration Filter对传入消息强制执行一些验证逻辑。验证的结果需要发回消息网关调用方,以便通知请求的具体错误。 null 配置 网关 过滤器

  • 如何获取json请求正文?

  • 在play framework Java中找不到传入请求的请求体。我需要在play framework API中记录所有传入请求。为此,我尝试使用滤镜和动作组合。但我能得到请求体。 我尝试使用滤镜和动作组合。 从这个请求中,我可以得到body是否存在的布尔值。但却无法得到真正的尸体。

  • 考虑我有以下代码 我想做的是我有一个映射,它的值是字符串列表。 这些值将被转换成整数,并将被检查,如果该值大于给定的值,如第二/内过滤器。 我可以把它分成几个小部分,因为我使用了两个过滤器,但从内部过滤器我无法得到布尔值,所以我将得到所需的流,然后使用flatmat(Collection::stream)合并,然后将其转换为set(以避免重复),因为这两个列表都包含一个公共值,即4 我需要的输出必