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
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.
MDC values containing any of the characters /, \, $,
{, }, [, ], (,
) , |, ?, *, +,
%, ,, @ or the sequence .. are rejected,
in which case the default value is returned. This prevents path separators, relative path components,
variable substitutions such as ${file.separator}, regex
special characters as well as the anchor character '%' or the ',' and '@' characters from
leaking into file names or email addresses.
Moreover, the maximum length of an MDC value is limited to 64 characters.
- Author:
- Ceki Gülcü
-
Field Summary
Fields inherited from class AbstractDiscriminator
startedFields inherited from class ContextAwareBase
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturn the value associated with an MDC entry designated by the Key property.getKey()The key or variable name under which the discriminating value should be exported into the host environment.voidsetDefaultValue(String defaultValue) The default MDC value in case the MDC is not set formdcKey.voidvoidstart()Methods inherited from class AbstractDiscriminator
isStarted, stopMethods inherited from class ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext
-
Constructor Details
-
MDCBasedDiscriminator
public MDCBasedDiscriminator()
-
-
Method Details
-
start
- Specified by:
startin interfaceLifeCycle- Overrides:
startin classAbstractDiscriminator<ILoggingEvent>
-
getDiscriminatingValue
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.If the MDC value contains any of the characters
/,\,$,{or}, or the sequence.., then the value assigned to the DefaultValue property is returned.- Parameters:
event-- Returns:
-
getKey
Description copied from interface:DiscriminatorThe key or variable name under which the discriminating value should be exported into the host environment.- Returns:
-
setKey
-
getDefaultValue
- Returns:
- See Also:
-
setDefaultValue
-