- 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 Summary
Constructors Constructor Description LogbackMDCAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear all entries in the MDC.voidclearDequeByKey(String key)Stringget(String key)Get the context identified by thekeyparameter.MapgetCopyOfContextMap()Return a copy of the current thread's context map.Deque<String>getCopyOfDequeByKey(String key)Set<String>getKeys()Returns the keys in the MDC as aSet.Map<String,String>getPropertyMap()Get the current thread's MDC as a map.StringpopByKey(String key)voidpushByKey(String key, String value)voidput(String key, String val)Put a context value (thevalparameter) as identified with thekeyparameter into the current thread's context map.voidremove(String key)Remove the context identified by thekeyparameter.voidsetContextMap(Map contextMap)
-
-
-
Constructor Detail
-
LogbackMDCAdapter
public LogbackMDCAdapter()
-
-
Method Detail
-
put
public void put(String key, String val) throws IllegalArgumentException
Put a context value (thevalparameter) as identified with thekeyparameter into the current thread's context map. Note that contrary to log4j, thevalparameter 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:
putin interfaceorg.slf4j.spi.MDCAdapter- Throws:
IllegalArgumentException- in case the "key" parameter is null
-
get
public String get(String key)
Get the context identified by thekeyparameter. This method has no side effects.- Specified by:
getin interfaceorg.slf4j.spi.MDCAdapter
-
remove
public void remove(String key)
Remove the context identified by the
keyparameter.- Specified by:
removein interfaceorg.slf4j.spi.MDCAdapter
-
clear
public void clear()
Clear all entries in the MDC.- Specified by:
clearin interfaceorg.slf4j.spi.MDCAdapter
-
getPropertyMap
public Map<String,String> 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
public Map getCopyOfContextMap()
Return a copy of the current thread's context map. Returned value may be null.- Specified by:
getCopyOfContextMapin interfaceorg.slf4j.spi.MDCAdapter
-
getKeys
public Set<String> getKeys()
Returns the keys in the MDC as aSet. The returned value can be null.
-
setContextMap
public void setContextMap(Map contextMap)
- Specified by:
setContextMapin interfaceorg.slf4j.spi.MDCAdapter
-
pushByKey
public void pushByKey(String key, String value)
- Specified by:
pushByKeyin interfaceorg.slf4j.spi.MDCAdapter
-
popByKey
public String popByKey(String key)
- Specified by:
popByKeyin interfaceorg.slf4j.spi.MDCAdapter
-
getCopyOfDequeByKey
public Deque<String> getCopyOfDequeByKey(String key)
- Specified by:
getCopyOfDequeByKeyin interfaceorg.slf4j.spi.MDCAdapter
-
clearDequeByKey
public void clearDequeByKey(String key)
- Specified by:
clearDequeByKeyin interfaceorg.slf4j.spi.MDCAdapter
-
-