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 intMAX_BUFFER_SIZEprivate 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, EMPTY_ARRAY
-
-
Constructor Summary
Constructors Modifier Constructor Description privateStructuredDataFilter(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.StringBuilderappendOrNull(java.lang.String value, java.lang.StringBuilder sb)static StructuredDataFiltercreateFilter(KeyValuePair[] pairs, java.lang.String oper, Filter.Result match, Filter.Result mismatch)Creates the StructuredDataFilter.Filter.Resultfilter(LogEvent event)Context Filter method.Filter.Resultfilter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)Appender Filter method.protected Filter.Resultfilter(StructuredDataMessage message)private java.lang.StringBuildergetStringBuilder()private java.lang.StringBuildergetValue(StructuredDataMessage data, java.lang.String key)private booleanlistContainsValue(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:AbstractFilterAppender Filter method. The default returns NEUTRAL.
-
filter
public Filter.Result filter(LogEvent event)
Description copied from class:AbstractFilterContext 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.
-
-