BTW, MDC is thread-safe. No worrying for concurrency. In multi-thread environment, if the child is create with the basic Thread + Runnable way, the child thread will automatically inherit parent’s MDC. … Executors is used for thread management.
What is MDC thread?
A Mapped Diagnostic Context, or MDC in short, is an instrument for distinguishing interleaved log output from different sources. Log output is typically interleaved when a server handles multiple clients near-simultaneously. The MDC is managed on a per thread basis.
Is MDC ThreadLocal?
The MDC wraps a thread local hashmap, whose values can be used in your log patterns. … As such there are quite a few number of APIs in Java 8 and some modern web servers that make it trivial to make your code non-blocking and use a common thread pool.