I don't think changing the signatures from String to Any to be able to pass in this `MsgWithMDC` is the best way to do it. All the methods that takes template and args are not covered by this, i.e. the combination of mdc and template is not supported.
I think MDC is something that is expected to be passed outside of the actual log statements (normally a thread local). We will probably not support it as a thread local, but I'm thinking if it can be passed in when constructing the LoggingAdapter. Probably not the actual MDC instance, but a function that can produce the MDC instance.

It must also be java friendly.