I agree. It's an omission. Could you please create a bugzilla entry
for this item?
The change in contract which happened in the 1.5.x series created a
lot of icky problems downstream. See for instance [1]. I do not wish
to introduce the same type of problems for the sake of
elegance. Perhaps by adding a getMDCAdapter method in StaticMDCBinder
but leaving the SINGLETON field as static public (instead of
private). This should guarantee both forward and backward
compatibility and more (but not 100%) consistent code.
Thank you in advance for creating the bugzilla entry.
[1] http://slf4j.org/faq.html#IllegalAccessError
Gunnar Wagenknecht wrote:
Ceki Gulcu schrieb:
Hello Gunnar,
MDC is by construction a class with static methods. I fail to see how
IMDCFactory could be made to create a fixed and static class. It just
does not make sense. Have you noticed the MDCAdapter interface?
Sorry, I might not have been clear enough.
StaticMDCBinder uses a public static final field SINGLETON.
StaticLoggerBinder and StaticMarkerBinder use a public static method
getSingleton().
StaticLoggerBinder and StaticMarkerBinder implements and interface which
defines a contract for the public getter.
StaticMDCBinder does not.
I was wondering if the programming pattern should be the same in
StaticMDCBinder to make adoption easier and to have a contract for the
getMDCA and getMDCAdapterClassStr methods as we have for
StaticLoggerBinder and StaticMarkerBinder.
-Gunnar
--
Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch
_______________________________________________
dev mailing list
dev@slf4j.org
http://www.slf4j.org/mailman/listinfo/dev