Package ch.qos.logback.classic.util

# Class LogbackMDCAdapter

java.lang.Object
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

Constructors
Constructor
Description
`LogbackMDCAdapter()`

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
Clear all entries in the MDC.
`String`
`get(String key)`
Get the context identified by the `key` parameter.
`Map<String,String>`
`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<String,String> contextMap)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### LogbackMDCAdapter

public LogbackMDCAdapter()

## Method Details

### 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.

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

### remove

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

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`

### get

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

Specified by:
  `get` 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.

### getKeys

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

### getCopyOfContextMap

public Map<String,String> 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`

### setContextMap

public void setContextMap(Map<String,String> contextMap)

Specified by:
  `setContextMap` in interface `org.slf4j.spi.MDCAdapter`