Class LogbackMDCAdapter
java.lang.Object
ch.qos.logback.classic.util.LogbackMDCAdapter
- All Implemented Interfaces:
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. A child thread
automatically inherits a copy of 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
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final ThreadLocal<Map<String, String>> (package private) final ThreadLocal<Integer> private static final intprivate static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clear all entries in the MDC.duplicateAndInsertNewMap(Map<String, String> oldMap) Get the context identified by thekeyparameter.private IntegergetAndSetLastOperation(int op) Return a copy of the current thread's context map.getKeys()Returns the keys in the MDC as aSet.Get the current thread's MDC as a map.voidPut a context value (thevalparameter) as identified with thekeyparameter into the current thread's context map.voidRemove the the context identified by thekeyparameter.voidsetContextMap(Map<String, String> contextMap) private booleanwasLastOpReadOrNull(Integer lastOp)
-
Field Details
-
copyOnThreadLocal
-
WRITE_OPERATION
private static final int WRITE_OPERATION- See Also:
-
MAP_COPY_OPERATION
private static final int MAP_COPY_OPERATION- See Also:
-
lastOperation
-
-
Constructor Details
-
LogbackMDCAdapter
public LogbackMDCAdapter()
-
-
Method Details
-
getAndSetLastOperation
-
wasLastOpReadOrNull
-
duplicateAndInsertNewMap
-
put
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.- Specified by:
putin interfaceorg.slf4j.spi.MDCAdapter- Throws:
IllegalArgumentException- in case the "key" parameter is null
-
remove
Remove the the context identified by thekeyparameter.- Specified by:
removein interfaceorg.slf4j.spi.MDCAdapter
-
clear
public void clear()Clear all entries in the MDC.- Specified by:
clearin interfaceorg.slf4j.spi.MDCAdapter
-
get
-
getPropertyMap
-
getKeys
-
getCopyOfContextMap
-
setContextMap
-