194得票7回答
如何在线程池中使用MDC?

在我们的软件中,我们广泛使用 MDC 来跟踪 Web 请求的会话 ID 和用户名。这在原始线程中运行时很好用。 然而,在后台需要处理很多事情。为此,我们使用了 java.concurrent.ThreadPoolExecutor 和 java.util.Timer 类以及一些自己编写的异步执...

26得票1回答
使logback模式部分可选?

有没有可能根据属性使logback的pattern布局的某些部分发生变化?例如,仅当%X {bdid}存在时才显示bdid (...)? 此appender<appender name="console" class="ch.qos.logback.core.ConsoleAppend...

15得票2回答
logback在appender中打印完整的MDC

在logback.xml中的一个追加器(appender)中,是否可以执行任何操作,例如遍历MDC,打印整个MDC等?我能想到的最简单的方法是通过Java/Groovy代码完成(我还没有研究如何完成),不知道是否有更简洁的方式。

14得票4回答
如何在CompletableFuture中保留slf4j MDC日志上下文?

在执行异步CompletableFuture时,父线程上下文,尤其是org.slf4j.MDC上下文会丢失。 这很糟糕,因为我正在使用某种“鱼标记”来跟踪一个请求中的日志,以及多个日志文件。 MDC.put("fishid", randomId()) 问题:如何在一般情况下保留该ID,在...

14得票4回答
如何在ForkJoinPool中使用MDC?

在如何在线程池中使用MDC?的基础上,如何在ForkJoinPool中使用MDC?具体来说,如何包装ForkJoinTask以便在执行任务之前设置MDC值?

12得票2回答
无法将值放入MDC

我正在尝试在Wicket的RequestCycle()的onBeginRequest()中记录一些值。 但是,这些值没有被记录在调试文件中。我将这些值放在RequestCycleListeners()中的MDC中。 以下是代码: getRequestCycleListeners().add...

12得票4回答
在Spring Boot中处理异常时保留自定义MDC属性

简短版本(含足够细节) 如何保留在javax.servlet.Filter实现的doFilter()方法中添加的MDC属性... public void doFilter(ServletRequest request, ServletResponse response, FilterCha...

11得票2回答
如何使用Spring Boot中的logback和SLF4J的MDC来捕获POST请求JSON中的唯一跟踪?

我们正在使用: Spring Boot Slf4J Logback ELK堆栈 现在,我们想使用MDC为每个给定请求的日志语句添加唯一的跟踪号码,该号码在POST请求JSON中提供。 我查阅了一些博客文章,但对我不太有用。 下面是我们正在使用的logback.xml。 <c...

11得票2回答
如何在Spring-Boot应用程序中使用gRPC拦截器附加/更新日志MDC

问题 我有一个Spring-Boot应用程序,在其中还启动了一个gRPC服务器/服务。servlet和gRPC代码都会向一个共同的对象发送请求来处理请求。当请求到达时,我希望更新日志以显示唯一的“ID”,以便可以通过系统跟踪请求。 在Spring方面,我设置了一个“过滤器”,该过滤器更新日志M...

10得票3回答
使用@Async和TaskDecorator记录MDC

使用Spring MVC,我有以下设置: 一个继承自AbstractRequestLoggingFilter的过滤器,用于记录请求。 一个任务装饰器,将MDC上下文映射从Web请求线程转换到@Async线程。 我正在尝试使用MDC(或ThreadLocal对象)收集处理请求的所有组件的...