@Jacob Yes: kotlinx-coroutines-slf4j provides convenient mapping between SLFJ MDC and coroutine context but that is all. You are still responsible for removing items from MDC and tracking them between threads (Spring does that pretty well). slf4j-klogging includes MDC mapping without any extra code.
You still have Logback underneath, with its limitations of using text messages with structured logs as an afterthought, and only millisecond precision in timestamps.