gpt4 book ai didi

java - Dropwizard 添加过滤器来记录相关 ID

转载 作者:行者123 更新时间:2023-12-01 19:47:30 25 4
gpt4 key购买 nike

我正在开发一个基于 dropwizard 的项目。我想记录传入过滤器请求的 http header 的相关 ID,并在响应发出时也记录它。知道如何做到这一点吗?我正在制作一个过滤器:

public class CorrelationIdServerFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
throws IOException, ServletException {


}

@Override
public void destroy() {

}

然后将其注册到我的应用程序类中。

如何捕获并记录相关 ID?

最佳答案

有现成的解决方案:

https://github.com/dhatim/dropwizard-correlation-id/blob/master/src/main/java/org/dhatim/dropwizard/correlationid/CorrelationIdClientFilter.java

该模式非常简单,验证请求是否已经有一个CorrelationId header ,如果是,则将 header 添加到ThreadLocal您的MDC 或其他易于检索数据的内容。如果没有生成新的,通常是 UUID

CorrelationId header 传递给您调用的所有服务,注意线程切换,例如在异步调用或使用 Hystrix 等断路器时。

如果您使用的记录器使用 MDC 或类似设施,则将 header 添加到您的日志记录模式中,并预先将 CorrelationId 存储在其中。

将 header 添加到响应中。

关于java - Dropwizard 添加过滤器来记录相关 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52616246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com