org.apache.logging.log4j.core.filter
Class ThreadContextMapFilter

java.lang.Object
  extended by org.apache.logging.log4j.core.AbstractLifeCycle
      extended by org.apache.logging.log4j.core.filter.AbstractFilter
          extended by org.apache.logging.log4j.core.filter.MapFilter
              extended by org.apache.logging.log4j.core.filter.ThreadContextMapFilter
All Implemented Interfaces:
Serializable, Filter, LifeCycle

@Plugin(name="ThreadContextMapFilter",
        category="Core",
        elementType="filter",
        printObject=true)
public class ThreadContextMapFilter
extends MapFilter

Filter based on a value in the Thread Context Map (MDC).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.Filter
Filter.Result
 
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State
 
Field Summary
 
Fields inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
onMatch, onMismatch
 
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
LOGGER
 
Fields inherited from interface org.apache.logging.log4j.core.Filter
ELEMENT_TYPE
 
Constructor Summary
ThreadContextMapFilter(Map<String,List<String>> pairs, boolean oper, Filter.Result onMatch, Filter.Result onMismatch)
           
 
Method Summary
static ThreadContextMapFilter createFilter(KeyValuePair[] pairs, String oper, Filter.Result match, Filter.Result mismatch)
           
 Filter.Result filter(LogEvent event)
          Context Filter method.
 Filter.Result filter(Logger logger, org.apache.logging.log4j.Level level, org.apache.logging.log4j.Marker marker, org.apache.logging.log4j.message.Message msg, Throwable t)
          Appender Filter method.
 Filter.Result filter(Logger logger, org.apache.logging.log4j.Level level, org.apache.logging.log4j.Marker marker, Object msg, Throwable t)
          Appender Filter method.
 Filter.Result filter(Logger logger, org.apache.logging.log4j.Level level, org.apache.logging.log4j.Marker marker, String msg, Object... params)
          Appender Filter method.
 
Methods inherited from class org.apache.logging.log4j.core.filter.MapFilter
filter, getMap, isAnd, toString
 
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
equals, getOnMatch, getOnMismatch, hashCode
 
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
getState, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, start, stop
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.logging.log4j.core.LifeCycle
isStarted, isStopped, start, stop
 

Constructor Detail

ThreadContextMapFilter

public ThreadContextMapFilter(Map<String,List<String>> pairs,
                              boolean oper,
                              Filter.Result onMatch,
                              Filter.Result onMismatch)
Method Detail

filter

public Filter.Result filter(Logger logger,
                            org.apache.logging.log4j.Level level,
                            org.apache.logging.log4j.Marker marker,
                            String msg,
                            Object... params)
Description copied from class: AbstractFilter
Appender Filter method. The default returns NEUTRAL.

Specified by:
filter in interface Filter
Overrides:
filter in class AbstractFilter
Parameters:
logger - the Logger.
level - The logging Level.
marker - The Marker, if any.
msg - The message, if present.
params - An array of parameters or null.
Returns:
The Result of filtering.

filter

public Filter.Result filter(Logger logger,
                            org.apache.logging.log4j.Level level,
                            org.apache.logging.log4j.Marker marker,
                            Object msg,
                            Throwable t)
Description copied from class: AbstractFilter
Appender Filter method. The default returns NEUTRAL.

Specified by:
filter in interface Filter
Overrides:
filter in class AbstractFilter
Parameters:
logger - the Logger.
level - The logging Level.
marker - The Marker, if any.
msg - The message, if present.
t - A throwable or null.
Returns:
The Result of filtering.

filter

public Filter.Result filter(Logger logger,
                            org.apache.logging.log4j.Level level,
                            org.apache.logging.log4j.Marker marker,
                            org.apache.logging.log4j.message.Message msg,
                            Throwable t)
Description copied from class: AbstractFilter
Appender Filter method. The default returns NEUTRAL.

Specified by:
filter in interface Filter
Overrides:
filter in class MapFilter
Parameters:
logger - the Logger.
level - The logging Level.
marker - The Marker, if any.
msg - The message, if present.
t - A throwable or null.
Returns:
The Result of filtering.

filter

public Filter.Result filter(LogEvent event)
Description copied from class: AbstractFilter
Context Filter method. The default returns NEUTRAL.

Specified by:
filter in interface Filter
Overrides:
filter in class MapFilter
Parameters:
event - The LogEvent.
Returns:
The Result of filtering.

createFilter

@PluginFactory
public static ThreadContextMapFilter createFilter(@PluginElement(value="Pairs")
                                                                KeyValuePair[] pairs,
                                                                @PluginAttribute(value="operator")
                                                                String oper,
                                                                @PluginAttribute(value="onMatch")
                                                                Filter.Result match,
                                                                @PluginAttribute(value="onMismatch")
                                                                Filter.Result mismatch)


Copyright © 1999-2014 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.