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

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.ThresholdFilter
All Implemented Interfaces:
Serializable, Filter, LifeCycle

@Plugin(name="ThresholdFilter",
        category="Core",
        elementType="filter",
        printObject=true)
public final class ThresholdFilter
extends AbstractFilter

This filter returns the onMatch result if the level in the LogEvent is the same or more specific than the configured level and the onMismatch value otherwise. For example, if the ThresholdFilter is configured with Level ERROR and the LogEvent contains Level DEBUG then the onMismatch value will be returned since ERROR events are more specific than DEBUG. The default Level is ERROR.

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
 
Method Summary
static ThresholdFilter createFilter(org.apache.logging.log4j.Level level, Filter.Result match, Filter.Result mismatch)
          Create a ThresholdFilter.
 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.
 String toString()
           
 
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
equalsImpl, getOnMatch, getOnMismatch, hashCodeImpl
 
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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.logging.log4j.core.LifeCycle
getState, isStarted, isStopped, start, stop
 

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 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(LogEvent event)
Description copied from class: AbstractFilter
Context Filter method. The default returns NEUTRAL.

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

toString

public String toString()
Overrides:
toString in class AbstractFilter

createFilter

@PluginFactory
public static ThresholdFilter createFilter(@PluginAttribute(value="level")
                                                         org.apache.logging.log4j.Level level,
                                                         @PluginAttribute(value="onMatch")
                                                         Filter.Result match,
                                                         @PluginAttribute(value="onMismatch")
                                                         Filter.Result mismatch)
Create a ThresholdFilter.

Parameters:
level - The log Level.
match - The action to take on a match.
mismatch - The action to take on a mismatch.
Returns:
The created ThresholdFilter.


Copyright © 1999-2015 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.