Class StructuredDataFilter
- java.lang.Object
-
- org.apache.logging.log4j.core.AbstractLifeCycle
-
- org.apache.logging.log4j.core.filter.AbstractFilter
-
- org.apache.logging.log4j.core.filter.MapFilter
-
- org.apache.logging.log4j.core.filter.StructuredDataFilter
-
- All Implemented Interfaces:
Filter
,LifeCycle
,LifeCycle2
@Plugin(name="StructuredDataFilter", category="Core", elementType="filter", printObject=true) public final class StructuredDataFilter extends MapFilter
Filter based on data in a StructuredDataMessage.
-
-
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
MAX_BUFFER_SIZE
private static java.lang.ThreadLocal<java.lang.StringBuilder>
threadLocalStringBuilder
-
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
StructuredDataFilter(java.util.Map<java.lang.String,java.util.List<java.lang.String>> map, boolean oper, Filter.Result onMatch, Filter.Result onMismatch)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringBuilder
appendOrNull(java.lang.String value, java.lang.StringBuilder sb)
static StructuredDataFilter
createFilter(KeyValuePair[] pairs, java.lang.String oper, Filter.Result match, Filter.Result mismatch)
Creates the StructuredDataFilter.Filter.Result
filter(LogEvent event)
Context Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)
Appender Filter method.protected Filter.Result
filter(StructuredDataMessage message)
private java.lang.StringBuilder
getStringBuilder()
private java.lang.StringBuilder
getValue(StructuredDataMessage data, java.lang.String key)
private boolean
listContainsValue(java.util.List<java.lang.String> candidates, java.lang.StringBuilder toMatch)
-
Methods inherited from class org.apache.logging.log4j.core.filter.MapFilter
filter, filter, filter, filter, filter, filter, filter, filter, filter, filter, filter, filter, filter, getMap, getStringMap, isAnd, toString
-
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
equalsImpl, 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
-
MAX_BUFFER_SIZE
private static final int MAX_BUFFER_SIZE
- See Also:
- Constant Field Values
-
threadLocalStringBuilder
private static java.lang.ThreadLocal<java.lang.StringBuilder> threadLocalStringBuilder
-
-
Constructor Detail
-
StructuredDataFilter
private StructuredDataFilter(java.util.Map<java.lang.String,java.util.List<java.lang.String>> map, boolean oper, Filter.Result onMatch, Filter.Result onMismatch)
-
-
Method Detail
-
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.
-
filter
public Filter.Result filter(LogEvent event)
Description copied from class:AbstractFilter
Context Filter method. The default returns NEUTRAL.
-
filter
protected Filter.Result filter(StructuredDataMessage message)
-
getValue
private java.lang.StringBuilder getValue(StructuredDataMessage data, java.lang.String key)
-
getStringBuilder
private java.lang.StringBuilder getStringBuilder()
-
appendOrNull
private java.lang.StringBuilder appendOrNull(java.lang.String value, java.lang.StringBuilder sb)
-
listContainsValue
private boolean listContainsValue(java.util.List<java.lang.String> candidates, java.lang.StringBuilder toMatch)
-
createFilter
@PluginFactory public static StructuredDataFilter createFilter(@PluginElement("Pairs") KeyValuePair[] pairs, @PluginAttribute("operator") java.lang.String oper, @PluginAttribute("onMatch") Filter.Result match, @PluginAttribute("onMismatch") Filter.Result mismatch)
Creates the StructuredDataFilter.- Parameters:
pairs
- Key and value pairs.oper
- The operator to perform. If not "or" the operation will be an "and".match
- The action to perform on a match.mismatch
- The action to perform on a mismatch.- Returns:
- The StructuredDataFilter.
-
-