Package ch.qos.logback.classic.sift

## Class MDCBasedDiscriminator

- java.lang.Object
- - ch.qos.logback.core.spi.ContextAwareBase
  - - ch.qos.logback.core.sift.AbstractDiscriminator<ILoggingEvent>
    - - ch.qos.logback.classic.sift.MDCBasedDiscriminator

All Implemented Interfaces:
  `Discriminator<ILoggingEvent>`, `ContextAware`, `LifeCycle`

    public class MDCBasedDiscriminator
    extends AbstractDiscriminator<ILoggingEvent>

MDCBasedDiscriminator essentially returns the value mapped to an MDC key. If the said value is null, then a default value is returned.

Both Key and the DefaultValue are user specified properties.

Author:
  Ceki Gülcü

### Field Summary

### Fields inherited from class ch.qos.logback.core.sift.AbstractDiscriminator

`started`

### Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

`context`

### Constructor Summary

Constructors
`MDCBasedDiscriminator()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getDefaultValue()`
`java.lang.String` `getDiscriminatingValue​(ILoggingEvent event)` Return the value associated with an MDC entry designated by the Key property.
`java.lang.String` `getKey()` The key or variable name under which the discriminating value should be exported into the host environment.
`void` `setDefaultValue​(java.lang.String defaultValue)` The default MDC value in case the MDC is not set for `mdcKey`.
`void` `setKey​(java.lang.String key)`
`void` `start()`

### Methods inherited from class ch.qos.logback.core.sift.AbstractDiscriminator

`isStarted, stop`

### Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext`

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

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

### Constructor Detail

#### MDCBasedDiscriminator

    public MDCBasedDiscriminator()

### Method Detail

#### getDiscriminatingValue

    public java.lang.String getDiscriminatingValue​(ILoggingEvent event)

Return the value associated with an MDC entry designated by the Key property. If that value is null, then return the value assigned to the DefaultValue property.

Returns:

#### start

    public void start()

Specified by:
  `start` in interface `LifeCycle`
Overrides:
  `start` in class `AbstractDiscriminator<ILoggingEvent>`

#### getKey

    public java.lang.String getKey()

Description copied from interface: `Discriminator`
The key or variable name under which the discriminating value should be exported into the host environment.

Returns:

#### setKey

    public void setKey​(java.lang.String key)

#### getDefaultValue

    public java.lang.String getDefaultValue()

Returns:
See Also:
  `setDefaultValue(String)`

#### setDefaultValue

    public void setDefaultValue​(java.lang.String defaultValue)

The default MDC value in case the MDC is not set for `mdcKey`.

For example, if `Key` is set to the value "someKey", and the MDC is not set for "someKey", then this appender will use the default value, which you can set with the help of this method.

Parameters:
  `defaultValue` -