Class AbstractFilter

java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilter
All Implemented Interfaces:
Filter, LifeCycle, LifeCycle2
Direct Known Subclasses:
BurstFilter, DenyAllFilter, DynamicThresholdFilter, LevelMatchFilter, LevelRangeFilter, MapFilter, MarkerFilter, MutableThreadContextMapFilter, NoMarkerFilter, RegexFilter, ScriptFilter, StringMatchFilter, ThresholdFilter, TimeFilter

public abstract class AbstractFilter extends AbstractLifeCycle implements Filter
Users should extend this class to implement filters. Filters can be either context wide or attached to an appender. A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to return Filter.Result.NEUTRAL.

Garbage-free note: the methods with unrolled varargs by default delegate to the filter method with vararg parameters. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.

  • Field Details

    • onMatch

      protected final Filter.Result onMatch
      The onMatch Result.
    • onMismatch

      protected final Filter.Result onMismatch
      The onMismatch Result.
  • Constructor Details

    • AbstractFilter

      protected AbstractFilter()
      The default constructor.
    • AbstractFilter

      protected AbstractFilter(Filter.Result onMatch, Filter.Result onMismatch)
      Constructor that allows the onMatch and onMismatch actions to be set.
      Parameters:
      onMatch - The result to return when a match occurs.
      onMismatch - The result to return when a match dos not occur.
  • Method Details

    • equalsImpl

      protected boolean equalsImpl(Object obj)
      Overrides:
      equalsImpl in class AbstractLifeCycle
    • filter

      public Filter.Result filter(LogEvent event)
      Context Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      event - The LogEvent.
      Returns:
      The Result of filtering.
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, Message msg, Throwable t)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      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, Object msg, Throwable t)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      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, String msg, Object... params)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      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, String msg, Object p0)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      p7 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      p7 - the message parameters
      p8 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8, Object p9)
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Parameters:
      logger - the Logger.
      level - The logging Level.
      marker - The Marker, if any.
      msg - The message, if present.
      p0 - the message parameters
      p1 - the message parameters
      p2 - the message parameters
      p3 - the message parameters
      p4 - the message parameters
      p5 - the message parameters
      p6 - the message parameters
      p7 - the message parameters
      p8 - the message parameters
      p9 - the message parameters
      Returns:
      The Result of filtering.
      Since:
      2.7
    • getOnMatch

      public final Filter.Result getOnMatch()
      Returns the Result to be returned when a match occurs.
      Specified by:
      getOnMatch in interface Filter
      Returns:
      the onMatch Result.
    • getOnMismatch

      public final Filter.Result getOnMismatch()
      Returns the Result to be returned when a match does not occur.
      Specified by:
      getOnMismatch in interface Filter
      Returns:
      the onMismatch Result.
    • hashCodeImpl

      protected int hashCodeImpl()
      Overrides:
      hashCodeImpl in class AbstractLifeCycle
    • toString

      public String toString()
      Overrides:
      toString in class Object