Class RegexFilter
- java.lang.Object
-
- org.apache.logging.log4j.core.AbstractLifeCycle
-
- org.apache.logging.log4j.core.filter.AbstractFilter
-
- org.apache.logging.log4j.core.filter.RegexFilter
-
- All Implemented Interfaces:
Filter
,LifeCycle
,LifeCycle2
@Plugin(name="RegexFilter", category="Core", elementType="filter", printObject=true) public final class RegexFilter extends AbstractFilter
This filter returns the onMatch result if the message matches the regular expression. The "useRawMsg" attribute can be used to indicate whether the regular expression should be applied to the result of calling Message.getMessageFormat (true) or Message.getFormattedMessage() (false). The default is false.
-
-
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 static int
DEFAULT_PATTERN_FLAGS
private java.util.regex.Pattern
pattern
private boolean
useRawMessage
-
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, EMPTY_ARRAY
-
-
Constructor Summary
Constructors Modifier Constructor Description private
RegexFilter(boolean raw, java.util.regex.Pattern pattern, Filter.Result onMatch, Filter.Result onMismatch)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RegexFilter
createFilter(java.lang.String regex, java.lang.String[] patternFlags, java.lang.Boolean useRawMsg, Filter.Result match, Filter.Result mismatch)
Creates a Filter that matches a regular expression.private Filter.Result
filter(java.lang.String msg)
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... params)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)
Appender Filter method.private static int
toPatternFlags(java.lang.String[] patternFlags)
java.lang.String
toString()
-
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
equalsImpl, filter, filter, filter, filter, filter, filter, filter, filter, filter, filter, 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
-
DEFAULT_PATTERN_FLAGS
private static final int DEFAULT_PATTERN_FLAGS
- See Also:
- Constant Field Values
-
pattern
private final java.util.regex.Pattern pattern
-
useRawMessage
private final boolean useRawMessage
-
-
Constructor Detail
-
RegexFilter
private RegexFilter(boolean raw, java.util.regex.Pattern pattern, Filter.Result onMatch, Filter.Result onMismatch)
-
-
Method Detail
-
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.
-
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, 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(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
private Filter.Result filter(java.lang.String msg)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractFilter
-
createFilter
@PluginFactory public static RegexFilter createFilter(@PluginAttribute("regex") java.lang.String regex, @PluginElement("PatternFlags") java.lang.String[] patternFlags, @PluginAttribute("useRawMsg") java.lang.Boolean useRawMsg, @PluginAttribute("onMatch") Filter.Result match, @PluginAttribute("onMismatch") Filter.Result mismatch) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
Creates a Filter that matches a regular expression.- Parameters:
regex
- The regular expression to match.patternFlags
- An array of Strings where each String is aPattern.compile(String, int)
compilation flag.useRawMsg
- If true, the raw message will be used, otherwise the formatted message will be used.match
- The action to perform when a match occurs.mismatch
- The action to perform when a mismatch occurs.- Returns:
- The RegexFilter.
- Throws:
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
-
toPatternFlags
private static int toPatternFlags(java.lang.String[] patternFlags) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
- Throws:
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
-
-