This is a Clojure wrapper for log4j2 that I’ve been developing for a while, and we use heavily at work. It’s intended as a partial replacement for clojure.tools.logging but is specific to log4j2: it supports MDC (mapped diagnostic context), NDC (nested diagnostic context) and markers directly, in a Clojure-friendly manner. As a dependency, it includes all of the bridge libraries that route other logging frameworks to log4j2 (jcl, jul, log4j 1.x, slf4j 1.x and 2.x).
As of this new release, 1.0.10, you can add your own log appenders at runtime, use plain Clojure functions, so you can avoid almost all interop with log4j2 classes.
See GitHub - seancorfield/logging4j2: A Clojure wrapper for log4j2 · GitHub for more information about how to use it and what it is capable of.