Package org.slf4j.helpers
Class BasicMDCAdapter
- java.lang.Object
-
- org.slf4j.helpers.BasicMDCAdapter
-
- All Implemented Interfaces:
MDCAdapter
public class BasicMDCAdapter extends java.lang.Object implements 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 Constructor Description BasicMDCAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear all entries in the MDC.voidclearDequeByKey(java.lang.String key)Clear the deque(stack) referenced by 'key'.java.lang.Stringget(java.lang.String key)Get the context identified by thekeyparameter.java.util.Map<java.lang.String,java.lang.String>getCopyOfContextMap()Return a copy of the current thread's context map.java.util.Deque<java.lang.String>getCopyOfDequeByKey(java.lang.String key)Returns a copy of the deque(stack) referenced by 'key'.java.util.Set<java.lang.String>getKeys()Returns the keys in the MDC as aSetofStrings The returned value can be null.java.lang.StringpopByKey(java.lang.String key)Pop the stack referenced by 'key' and return the value possibly null.voidpushByKey(java.lang.String key, java.lang.String value)Push a value into the deque(stack) referenced by 'key'.voidput(java.lang.String key, java.lang.String val)Put a context value (thevalparameter) as identified with thekeyparameter into the current thread's context map.voidremove(java.lang.String key)Remove the context identified by thekeyparameter.voidsetContextMap(java.util.Map<java.lang.String,java.lang.String> contextMap)Set the current thread's context map by first clearing any existing map and then copying the map passed as parameter.
-
-
-
Constructor Detail
-
BasicMDCAdapter
public BasicMDCAdapter()
-
-
Method Detail
-
put
public void put(java.lang.String key, java.lang.String val)
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:
java.lang.IllegalArgumentException- in case the "key" parameter is null
-
get
public java.lang.String get(java.lang.String key)
Get the context identified by thekeyparameter.- Specified by:
getin interfaceMDCAdapter- Returns:
- the string value identified by the
keyparameter.
-
remove
public void remove(java.lang.String key)
Remove the context identified by thekeyparameter.- Specified by:
removein interfaceMDCAdapter
-
clear
public void clear()
Clear all entries in the MDC.- Specified by:
clearin interfaceMDCAdapter
-
getKeys
public java.util.Set<java.lang.String> getKeys()
Returns the keys in the MDC as aSetofStrings The returned value can be null.- Returns:
- the keys in the MDC
-
getCopyOfContextMap
public java.util.Map<java.lang.String,java.lang.String> 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
public void setContextMap(java.util.Map<java.lang.String,java.lang.String> contextMap)
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
public void pushByKey(java.lang.String key, java.lang.String value)
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
public java.lang.String popByKey(java.lang.String key)
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
public java.util.Deque<java.lang.String> getCopyOfDequeByKey(java.lang.String key)
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
public void clearDequeByKey(java.lang.String key)
Description copied from interface:MDCAdapterClear the deque(stack) referenced by 'key'.- Specified by:
clearDequeByKeyin interfaceMDCAdapter- Parameters:
key- identifies the stack
-
-