Class ScriptFilter
java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilter
org.apache.logging.log4j.core.filter.ScriptFilter
- All Implemented Interfaces:
Filter, LifeCycle, LifeCycle2
@Plugin(name="ScriptFilter",
category="Core",
elementType="filter",
printObject=true)
public final class ScriptFilter
extends AbstractFilter
Returns the onMatch result if the script returns True and returns the onMismatch value otherwise.
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractFilter
AbstractFilter.AbstractFilterBuilder<B>Nested classes/interfaces inherited from interface Filter
Filter.ResultNested classes/interfaces inherited from interface LifeCycle
LifeCycle.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Configurationprivate static Loggerprivate final AbstractScriptFields inherited from class AbstractFilter
onMatch, onMismatchFields inherited from class AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGERFields inherited from interface Filter
ELEMENT_TYPE, EMPTY_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateScriptFilter(AbstractScript script, Configuration configuration, Filter.Result onMatch, Filter.Result onMismatch) -
Method Summary
Modifier and TypeMethodDescriptionstatic ScriptFiltercreateFilter(AbstractScript script, Filter.Result match, Filter.Result mismatch, Configuration configuration) Creates the ScriptFilter.Context Filter method.Appender Filter method.Appender Filter method.Appender Filter method.toString()Methods inherited from class AbstractFilter
equalsImpl, filter, filter, filter, filter, filter, filter, filter, filter, filter, filter, getOnMatch, getOnMismatch, hashCodeImplMethods inherited from class AbstractLifeCycle
getState, getStatusLogger, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, start, stop, stop, stop
-
Field Details
-
logger
-
script
-
configuration
-
-
Constructor Details
-
ScriptFilter
private ScriptFilter(AbstractScript script, Configuration configuration, Filter.Result onMatch, Filter.Result onMismatch)
-
-
Method Details
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object... params) Description copied from class:AbstractFilterAppender Filter method. The default returns NEUTRAL.- Specified by:
filterin interfaceFilter- Overrides:
filterin 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.
-
filter
Description copied from class:AbstractFilterAppender Filter method. The default returns NEUTRAL.- Specified by:
filterin interfaceFilter- Overrides:
filterin 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
Description copied from class:AbstractFilterAppender Filter method. The default returns NEUTRAL.- Specified by:
filterin interfaceFilter- Overrides:
filterin 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
Description copied from class:AbstractFilterContext Filter method. The default returns NEUTRAL.- Specified by:
filterin interfaceFilter- Overrides:
filterin classAbstractFilter- Parameters:
event- The LogEvent.- Returns:
- The Result of filtering.
-
toString
- Overrides:
toStringin classAbstractFilter
-
createFilter
@PluginFactory public static ScriptFilter createFilter(@PluginElement("Script") AbstractScript script, @PluginAttribute("onMatch") Filter.Result match, @PluginAttribute("onMismatch") Filter.Result mismatch, @PluginConfiguration Configuration configuration) Creates the ScriptFilter.- Parameters:
script- The script to run. The script must return a boolean value. Either script or scriptFile must be provided.match- The action to take if a match occurs.mismatch- The action to take if no match occurs.configuration- the configuration- Returns:
- A ScriptFilter.
-