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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clear all entries in the MDC.voidclearDequeByKey(String key) Clear the deque(stack) referenced by 'key'.Get the context identified by thekeyparameter.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.voidPush a value into the deque(stack) referenced by 'key'.voidPut a context value (thevalparameter) as identified with thekeyparameter into the current thread's context map.voidRemove the context identified by thekeyparameter.voidsetContextMap(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 (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 interfaceMDCAdapter- Throws:
IllegalArgumentException- in case the "key" parameter is null
-
get
Get the context identified by thekeyparameter.- Specified by:
getin interfaceMDCAdapter- Returns:
- the string value identified by the
keyparameter.
-
remove
Remove the context identified by thekeyparameter.- Specified by:
removein interfaceMDCAdapter
-
clear
Clear all entries in the MDC.- Specified by:
clearin 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:
getCopyOfContextMapin interfaceMDCAdapter- Returns:
- A copy of the current thread's context map. May be null.
-
setContextMap
Description copied from interface:MDCAdapterSet 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:
setContextMapin interfaceMDCAdapter- Parameters:
contextMap- must contain only keys and values of type String
-
pushByKey
Description copied from interface:MDCAdapterPush a value into the deque(stack) referenced by 'key'.- Specified by:
pushByKeyin interfaceMDCAdapter- Parameters:
key- identifies the appropriate stackvalue- the value to push into the stack
-
popByKey
Description copied from interface:MDCAdapterPop the stack referenced by 'key' and return the value possibly null.- Specified by:
popByKeyin interfaceMDCAdapter- Parameters:
key- identifies the deque(stack)- Returns:
- the value just popped. May be null/
-
getCopyOfDequeByKey
Description copied from interface:MDCAdapterReturns a copy of the deque(stack) referenced by 'key'. May be null.- Specified by:
getCopyOfDequeByKeyin interfaceMDCAdapter- Parameters:
key- identifies the stack- Returns:
- copy of stack referenced by 'key'. May be null.
-
clearDequeByKey
Description copied from interface:MDCAdapterClear the deque(stack) referenced by 'key'.- Specified by:
clearDequeByKeyin interfaceMDCAdapter- Parameters:
key- identifies the stack
-