Class LogbackMDCAdapter

java.lang.Object
ch.qos.logback.classic.util.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
  • Constructor Details

  • Method Details

    • 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

      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

      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<String> getKeys()
      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
    • getCopyOfDequeByKey

      Specified by:
      getCopyOfDequeByKey in interface org.slf4j.spi.MDCAdapter
    • clearDequeByKey

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