Details
-
Bug
-
Resolution: Fixed
-
Major
-
0.9.28
-
None
-
None
Description
LoggingEvent has this code:
// ugly but under the circumstances acceptable
LogbackMDCAdapter logbackMDCAdapter = (LogbackMDCAdapter) MDC
.getMDCAdapter();
mdcPropertyMap = logbackMDCAdapter.getPropertyMap();
I'm trying to build a logback implementation of the OSGi pax-logging-service (http://www.ops4j.org/projects/pax/logging/index.html). But I've got a problem that PAX exports org.slf4j.impl with their own MDC adapter that fails this cast. Theirs has the nice feature that the OSGi bundle context is automatically added to the MDC (at a performance cost, alas). I'd like to see LoggingEvent changed to something like the following for improved flexibility:
MDCAdapter mdc = MDC.getMDCAdapter();
if (MDCAdaptor instanceof LogbackMDCAdapter)
mdcPropertyMap = ((LogbackMDCAdapter)mdc).getPropertyMap();
else
mdcPropertyMap = mdc.getCopyOfContextMap();