Class DynamicThresholdFilter
- java.lang.Object
-
- org.apache.logging.log4j.core.AbstractLifeCycle
-
- org.apache.logging.log4j.core.filter.AbstractFilter
-
- org.apache.logging.log4j.core.filter.DynamicThresholdFilter
-
- All Implemented Interfaces:
Filter
,LifeCycle
,LifeCycle2
@Plugin(name="DynamicThresholdFilter", category="Core", elementType="filter", printObject=true) public final class DynamicThresholdFilter extends AbstractFilter
Compares against a log level that is associated with a context value. By default the context is theThreadContext
, but users may configure a customContextDataInjector
which obtains context data from some other source.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
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 private Level
defaultThreshold
private ContextDataInjector
injector
private java.lang.String
key
private java.util.Map<java.lang.String,Level>
levelMap
-
Fields inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
onMatch, onMismatch
-
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 private
DynamicThresholdFilter(java.lang.String key, java.util.Map<java.lang.String,Level> pairs, Level defaultLevel, Filter.Result onMatch, Filter.Result onMismatch)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DynamicThresholdFilter
createFilter(java.lang.String key, KeyValuePair[] pairs, Level defaultThreshold, Filter.Result onMatch, Filter.Result onMismatch)
Creates a DynamicThresholdFilter.private ReadOnlyStringMap
currentContextData()
boolean
equals(java.lang.Object obj)
Filter.Result
filter(LogEvent event)
Context Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.Object msg, java.lang.Throwable t)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object... params)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)
Appender Filter method.private Filter.Result
filter(Level level, ReadOnlyStringMap contextMap)
java.lang.String
getKey()
java.util.Map<java.lang.String,Level>
getLevelMap()
int
hashCode()
java.lang.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, getStatusLogger, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, start, stop, stop, stop
-
-
-
-
Field Detail
-
defaultThreshold
private Level defaultThreshold
-
key
private final java.lang.String key
-
injector
private final ContextDataInjector injector
-
levelMap
private java.util.Map<java.lang.String,Level> levelMap
-
-
Constructor Detail
-
DynamicThresholdFilter
private DynamicThresholdFilter(java.lang.String key, java.util.Map<java.lang.String,Level> pairs, Level defaultLevel, Filter.Result onMatch, Filter.Result onMismatch)
-
-
Method Detail
-
createFilter
@PluginFactory public static DynamicThresholdFilter createFilter(@PluginAttribute("key") java.lang.String key, @PluginElement("Pairs") KeyValuePair[] pairs, @PluginAttribute("defaultThreshold") Level defaultThreshold, @PluginAttribute("onMatch") Filter.Result onMatch, @PluginAttribute("onMismatch") Filter.Result onMismatch)
Creates a DynamicThresholdFilter.- Parameters:
key
- The name of the key to compare.pairs
- An array of value and Level pairs.defaultThreshold
- The default Level.onMatch
- The action to perform if a match occurs.onMismatch
- The action to perform if no match occurs.- Returns:
- The DynamicThresholdFilter.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
filter
private Filter.Result filter(Level level, ReadOnlyStringMap contextMap)
-
filter
public Filter.Result filter(LogEvent event)
Description copied from class:AbstractFilter
Context Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
event
- The LogEvent.- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, Level level, Marker marker, java.lang.Object msg, java.lang.Throwable t)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, Level level, Marker marker, java.lang.String msg, java.lang.Object... params)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
currentContextData
private ReadOnlyStringMap currentContextData()
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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 parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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.
-
getKey
public java.lang.String getKey()
-
getLevelMap
public java.util.Map<java.lang.String,Level> getLevelMap()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractFilter
-
-