Class BasicMDCAdapter

java.lang.Object
org.slf4j.helpers.BasicMDCAdapter
All Implemented Interfaces:
MDCAdapter

public class BasicMDCAdapter extends Object implements MDCAdapter
Basic MDC implementation, which can be used with logging systems that lack out-of-the-box MDC support. This code was initially inspired by logback's LogbackMDCAdapter. However, LogbackMDCAdapter has evolved and is now considerably more sophisticated.
Since:
1.5.0
Author:
Ceki Gulcu, Maarten Bosteels, Lukasz Cwik
  • Constructor Details

  • Method Details

    • put

      public void put(String key, String val)
      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.

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

      public String get(String key)
      Get the context identified by the key parameter.
      Specified by:
      get in interface MDCAdapter
      Returns:
      the string value identified by the key parameter.
    • remove

      public void remove(String key)
      Remove the the context identified by the key parameter.
      Specified by:
      remove in interface MDCAdapter
    • clear

      public void clear()
      Clear all entries in the MDC.
      Specified by:
      clear in interface MDCAdapter
    • getKeys

      public Set<String> getKeys()
      Returns the keys in the MDC as a Set of Strings The returned value can be null.
      Returns:
      the keys in the MDC
    • getCopyOfContextMap

      Return a copy of the current thread's context map. Returned value may be null.
      Specified by:
      getCopyOfContextMap in interface MDCAdapter
      Returns:
      A copy of the current thread's context map. May be null.
    • setContextMap

      public void setContextMap(Map<String,​String> contextMap)
      Description copied from interface: MDCAdapter
      Set the current thread's context map by first clearing any existing map and then copying the map passed as parameter. The context map parameter must only contain keys and values of type String. Implementations must support null valued map passed as parameter.
      Specified by:
      setContextMap in interface MDCAdapter
      Parameters:
      contextMap - must contain only keys and values of type String