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 int
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all entries in the MDC.duplicateAndInsertNewMap
(Map<String, String> oldMap) Get the context identified by thekey
parameter.private Integer
getAndSetLastOperation
(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.void
Put a context value (theval
parameter) as identified with thekey
parameter into the current thread's context map.void
Remove the the context identified by thekey
parameter.void
setContextMap
(Map<String, String> contextMap) private boolean
wasLastOpReadOrNull
(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 (theval
parameter) as identified with thekey
parameter into the current thread's context map. Note that contrary to log4j, theval
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 interfaceorg.slf4j.spi.MDCAdapter
- Throws:
IllegalArgumentException
- in case the "key" parameter is null
-
remove
Remove the the context identified by thekey
parameter.- Specified by:
remove
in interfaceorg.slf4j.spi.MDCAdapter
-
clear
public void clear()Clear all entries in the MDC.- Specified by:
clear
in interfaceorg.slf4j.spi.MDCAdapter
-
get
Get the context identified by thekey
parameter.- Specified by:
get
in 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:
getCopyOfContextMap
in interfaceorg.slf4j.spi.MDCAdapter
-
setContextMap
- Specified by:
setContextMap
in interfaceorg.slf4j.spi.MDCAdapter
-