ch.qos.logback.classic.util
Class LogbackMDCAdapter

java.lang.Object
  extended by ch.qos.logback.classic.util.LogbackMDCAdapter
All Implemented Interfaces:
org.slf4j.spi.MDCAdapter

public class LogbackMDCAdapter
extends Object
implements 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

Author:
Ceki Gülcü

Constructor Summary
LogbackMDCAdapter()
           
 
Method Summary
 void clear()
          Clear all entries in the MDC.
 String get(String key)
          Get the context identified by the key parameter.
 Map getCopyOfContextMap()
          Return a copy of the current thread's context map.
 Set<String> getKeys()
          Returns the keys in the MDC as a Set.
 Map<String,String> getPropertyMap()
          Get the current thread's MDC as a map.
 void put(String key, String val)
          Put a context value (the val parameter) as identified with the key parameter into the current thread's context map.
 void remove(String key)
          Remove the the context identified by the key parameter.
 void setContextMap(Map contextMap)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogbackMDCAdapter

public LogbackMDCAdapter()
Method Detail

put

public void put(String key,
                String val)
         throws IllegalArgumentException
Put a context value (the val parameter) as identified with the key parameter into the current thread's context map. Note that contrary to log4j, the val parameter can be null.

If the current thread does not have a context map it is created as a side effect of this call.

Each time a value is added, a new instance of the map is created. This is to be certain that the serialization process will operate on the updated map and not send a reference to the old map, thus not allowing the remote logback component to see the latest changes.

Specified by:
put in interface org.slf4j.spi.MDCAdapter
Throws:
IllegalArgumentException - in case the "key" parameter is null

get

public String get(String key)
Get the context identified by the key parameter.

This method has no side effects.

Specified by:
get in interface org.slf4j.spi.MDCAdapter

remove

public void remove(String key)
Remove the the context identified by the key parameter.

Each time a value is removed, a new instance of the map is created. This is to be certain that the serialization process will operate on the updated map and not send a reference to the old map, thus not allowing the remote logback component to see the latest changes.

Specified by:
remove in interface org.slf4j.spi.MDCAdapter

clear

public void clear()
Clear all entries in the MDC.

Specified by:
clear in interface org.slf4j.spi.MDCAdapter

getPropertyMap

public Map<String,String> getPropertyMap()
Get the current thread's MDC as a map. This method is intended to be used internally.


getCopyOfContextMap

public Map getCopyOfContextMap()
Return a copy of the current thread's context map. Returned value may be null.

Specified by:
getCopyOfContextMap in interface org.slf4j.spi.MDCAdapter

getKeys

public Set<String> getKeys()
Returns the keys in the MDC as a Set. The returned value can be null.


setContextMap

public void setContextMap(Map contextMap)
Specified by:
setContextMap in interface org.slf4j.spi.MDCAdapter


Copyright © 2005-2010 QOS.ch. All Rights Reserved.