Package ch.qos.logback.classic.util
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
Get the context identified by thekeyparameter.- Specified by:
getin interfaceorg.slf4j.spi.MDCAdapter
-
getPropertyMap
Get the current thread's MDC as a map. This method is intended to be used internally. -
getKeys
Returns the keys in the MDC as aSet. The returned value can be null. -
getCopyOfContextMap
Return a copy of the current thread's context map. Returned value may be null.- Specified by:
getCopyOfContextMapin interfaceorg.slf4j.spi.MDCAdapter
-
setContextMap
- Specified by:
setContextMapin interfaceorg.slf4j.spi.MDCAdapter
-