Package org.slf4j.helpers
Class BasicMDCAdapter
java.lang.Object
org.slf4j.helpers.BasicMDCAdapter
- All Implemented Interfaces:
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all entries in the MDC.void
clearDequeByKey
(String key) Clear the deque(stack) referenced by 'key'.Get the context identified by thekey
parameter.Return a copy of the current thread's context map.Returns a copy of the deque(stack) referenced by 'key'.getKeys()
Pop the stack referenced by 'key' and return the value possibly null.void
Push a value into the deque(stack) referenced by 'key'.void
Put a context value (theval
parameter) as identified with thekey
parameter into the current thread's context map.void
Remove the context identified by thekey
parameter.void
setContextMap
(Map<String, String> contextMap) Set the current thread's context map by first clearing any existing map and then copying the map passed as parameter.
-
Constructor Details
-
BasicMDCAdapter
public BasicMDCAdapter()
-
-
Method Details
-
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 interfaceMDCAdapter
- Throws:
IllegalArgumentException
- in case the "key" parameter is null
-
get
Get the context identified by thekey
parameter.- Specified by:
get
in interfaceMDCAdapter
- Returns:
- the string value identified by the
key
parameter.
-
remove
Remove the context identified by thekey
parameter.- Specified by:
remove
in interfaceMDCAdapter
-
clear
Clear all entries in the MDC.- Specified by:
clear
in interfaceMDCAdapter
-
getKeys
- 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 interfaceMDCAdapter
- Returns:
- A copy of the current thread's context map. May be null.
-
setContextMap
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 interfaceMDCAdapter
- Parameters:
contextMap
- must contain only keys and values of type String
-
pushByKey
Description copied from interface:MDCAdapter
Push a value into the deque(stack) referenced by 'key'.- Specified by:
pushByKey
in interfaceMDCAdapter
- Parameters:
key
- identifies the appropriate stackvalue
- the value to push into the stack
-
popByKey
Description copied from interface:MDCAdapter
Pop the stack referenced by 'key' and return the value possibly null.- Specified by:
popByKey
in interfaceMDCAdapter
- Parameters:
key
- identifies the deque(stack)- Returns:
- the value just popped. May be null/
-
getCopyOfDequeByKey
Description copied from interface:MDCAdapter
Returns a copy of the deque(stack) referenced by 'key'. May be null.- Specified by:
getCopyOfDequeByKey
in interfaceMDCAdapter
- Parameters:
key
- identifies the stack- Returns:
- copy of stack referenced by 'key'. May be null.
-
clearDequeByKey
Description copied from interface:MDCAdapter
Clear the deque(stack) referenced by 'key'.- Specified by:
clearDequeByKey
in interfaceMDCAdapter
- Parameters:
key
- identifies the stack
-