Class AbstractFilter
- java.lang.Object
-
- org.apache.logging.log4j.core.AbstractLifeCycle
-
- org.apache.logging.log4j.core.filter.AbstractFilter
-
- All Implemented Interfaces:
Filter
,LifeCycle
,LifeCycle2
- Direct Known Subclasses:
BurstFilter
,DenyAllFilter
,DynamicThresholdFilter
,FilterAdapter
,LevelMatchFilter
,LevelRangeFilter
,MapFilter
,MarkerFilter
,NoMarkerFilter
,RegexFilter
,ScriptFilter
,StringMatchFilter
,ThresholdFilter
,TimeFilter
public abstract class AbstractFilter extends AbstractLifeCycle implements Filter
Users should extend this class to implement filters. Filters can be either context wide or attached to an appender. A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to returnFilter.Result.NEUTRAL
.Garbage-free note: the methods with unrolled varargs by default delegate to the
filter method with vararg parameters
. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractFilter.AbstractFilterBuilder<B extends AbstractFilter.AbstractFilterBuilder<B>>
-
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 Modifier and Type Field Description protected Filter.Result
onMatch
The onMatch Result.protected Filter.Result
onMismatch
The onMismatch Result.-
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.Filter
ELEMENT_TYPE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractFilter()
The default constructor.protected
AbstractFilter(Filter.Result onMatch, Filter.Result onMismatch)
Constructor that allows the onMatch and onMismatch actions to be set.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
equalsImpl(Object obj)
Filter.Result
filter(LogEvent event)
Context Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, Object msg, Throwable t)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object... params)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8, Object p9)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, Message msg, Throwable t)
Appender Filter method.Filter.Result
getOnMatch()
Returns the Result to be returned when a match occurs.Filter.Result
getOnMismatch()
Returns the Result to be returned when a match does not occur.protected int
hashCodeImpl()
String
toString()
-
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
getState, getStatusLogger, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, start, stop, stop, stop
-
-
-
-
Field Detail
-
onMatch
protected final Filter.Result onMatch
The onMatch Result.
-
onMismatch
protected final Filter.Result onMismatch
The onMismatch Result.
-
-
Constructor Detail
-
AbstractFilter
protected AbstractFilter()
The default constructor.
-
AbstractFilter
protected AbstractFilter(Filter.Result onMatch, Filter.Result onMismatch)
Constructor that allows the onMatch and onMismatch actions to be set.- Parameters:
onMatch
- The result to return when a match occurs.onMismatch
- The result to return when a match dos not occur.
-
-
Method Detail
-
equalsImpl
protected boolean equalsImpl(Object obj)
- Overrides:
equalsImpl
in classAbstractLifeCycle
-
filter
public Filter.Result filter(LogEvent event)
Context Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, Message msg, Throwable t)
Appender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, Object msg, Throwable t)
Appender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object... params)
Appender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0)
Appender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1)
Appender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2)
Appender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parametersp7
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parametersp7
- the message parametersp8
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8, Object p9)
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parametersp7
- the message parametersp8
- the message parametersp9
- the message parameters- Returns:
- The Result of filtering.
- Since:
- 2.7
-
getOnMatch
public final Filter.Result getOnMatch()
Returns the Result to be returned when a match occurs.- Specified by:
getOnMatch
in interfaceFilter
- Returns:
- the onMatch Result.
-
getOnMismatch
public final Filter.Result getOnMismatch()
Returns the Result to be returned when a match does not occur.- Specified by:
getOnMismatch
in interfaceFilter
- Returns:
- the onMismatch Result.
-
hashCodeImpl
protected int hashCodeImpl()
- Overrides:
hashCodeImpl
in classAbstractLifeCycle
-
-