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 intDEFAULT_PATTERN_FLAGSprivate java.util.regex.Patternpatternprivate booleanuseRawMessage-
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 privateRegexFilter(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 RegexFiltercreateFilter(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.Resultfilter(java.lang.String msg)Filter.Resultfilter(LogEvent event)Context Filter method.Filter.Resultfilter(Logger logger, Level level, Marker marker, java.lang.Object msg, java.lang.Throwable t)Appender Filter method.Filter.Resultfilter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object... params)Appender Filter method.Filter.Resultfilter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)Appender Filter method.private static inttoPatternFlags(java.lang.String[] patternFlags)java.lang.StringtoString()-
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: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
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.Object msg, java.lang.Throwable t)
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
public Filter.Result filter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)
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
public Filter.Result filter(LogEvent event)
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.
-
filter
private Filter.Result filter(java.lang.String msg)
-
toString
public java.lang.String toString()
- Overrides:
toStringin 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.IllegalAccessExceptionjava.lang.IllegalArgumentException
-
toPatternFlags
private static int toPatternFlags(java.lang.String[] patternFlags) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException- Throws:
java.lang.IllegalArgumentExceptionjava.lang.IllegalAccessException
-
-