Class LogbackMDCAdapter

  • All Implemented Interfaces:
    org.slf4j.spi.MDCAdapter

    public class LogbackMDCAdapter
    extends Object
    implements org.slf4j.spi.MDCAdapter
    A Mapped Diagnostic Context, or MDC in short, is an instrument for distinguishing interleaved log output from different sources. Log output is typically interleaved when a server handles multiple clients near-simultaneously.

    The MDC is managed on a per thread basis. Note that a child thread does not inherit the mapped diagnostic context of its parent.

    For more information about MDC, please refer to the online manual at http://logback.qos.ch/manual/mdc.html

    Author:
    Ceki Gülcü, Michael Franz
    • Method Detail

      • put

        public void put​(String key,
                        String val)
                 throws IllegalArgumentException
        Put a context value (the val parameter) as identified with the key parameter into the current thread's context map. Note that contrary to log4j, the val parameter can be null.

        If the current thread does not have a context map it is created as a side effect of this call.

        Each time a value is added, a new instance of the map is created. This is to be certain that the serialization process will operate on the updated map and not send a reference to the old map, thus not allowing the remote logback component to see the latest changes.

        Specified by:
        put in interface org.slf4j.spi.MDCAdapter
        Throws:
        IllegalArgumentException - in case the "key" parameter is null
      • get

        public String get​(String key)
        Get the context identified by the key parameter.

        This method has no side effects.

        Specified by:
        get in interface org.slf4j.spi.MDCAdapter
      • remove

        public void remove​(String key)

        Remove the context identified by the key parameter.

        Specified by:
        remove in interface org.slf4j.spi.MDCAdapter
      • clear

        public void clear()
        Clear all entries in the MDC.
        Specified by:
        clear in interface org.slf4j.spi.MDCAdapter
      • getPropertyMap

        public Map<String,​StringgetPropertyMap()

        Get the current thread's MDC as a map. This method is intended to be used internally.

        The returned map is unmodifiable (since version 1.3.2/1.4.2).
      • getCopyOfContextMap

        public Map getCopyOfContextMap()
        Return a copy of the current thread's context map. Returned value may be null.
        Specified by:
        getCopyOfContextMap in interface org.slf4j.spi.MDCAdapter
      • getKeys

        public Set<StringgetKeys()
        Returns the keys in the MDC as a Set. The returned value can be null.
      • setContextMap

        public void setContextMap​(Map contextMap)
        Specified by:
        setContextMap in interface org.slf4j.spi.MDCAdapter
      • pushByKey

        public void pushByKey​(String key,
                              String value)
        Specified by:
        pushByKey in interface org.slf4j.spi.MDCAdapter
      • popByKey

        public String popByKey​(String key)
        Specified by:
        popByKey in interface org.slf4j.spi.MDCAdapter
      • clearDequeByKey

        public void clearDequeByKey​(String key)
        Specified by:
        clearDequeByKey in interface org.slf4j.spi.MDCAdapter