Im not qualified to answer anything about micronaut, only used it a bit 2 years ago, but MDC and eventloops usually dont work out of the box, since MDC tends to use ThreadLocal variables, and that doesnt work with virtual threads/event loops. The trick is to pass a context object in one way or another.