Class BurstFilter

All Implemented Interfaces:
Filter, LifeCycle, LifeCycle2

@Plugin(name="BurstFilter", category="Core", elementType="filter", printObject=true) public final class BurstFilter extends AbstractFilter
The BurstFilter is a logging filter that regulates logging traffic.

Use this filter when you want to control the maximum burst of log statements that can be sent to an appender. The filter is configured in the log4j configuration file. For example, the following configuration limits the number of INFO level (as well as DEBUG and TRACE) log statements that can be sent to the console to a burst of 100 with an average rate of 16 per second. WARN, ERROR and FATAL messages would continue to be delivered.

<Console name="console">
 <PatternLayout pattern="%-5p %d{dd-MMM-yyyy HH:mm:ss} %x %t %m%n"/>
 <Filters>
  <BurstFilter level="INFO" rate="16" maxBurst="100"/>
 </Filters>
</Console>

  • Method Details

    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object... params)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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, Object msg, Throwable t)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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, Throwable t)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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 interface Filter
      Overrides:
      filter in class AbstractFilter
      Parameters:
      event - The LogEvent.
      Returns:
      The Result of filtering.
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • filter

      public Filter.Result filter(Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • 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)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • 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)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • 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)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • 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)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • 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)
      Description copied from class: AbstractFilter
      Appender Filter method. The default returns NEUTRAL.
      Specified by:
      filter in interface Filter
      Overrides:
      filter in class AbstractFilter
      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.
    • getAvailable

      public int getAvailable()
      Returns the number of available slots. Used for unit testing.
      Returns:
      The number of available slots.
    • clear

      public void clear()
      Clear the history. Used for unit testing.
    • toString

      public String toString()
      Overrides:
      toString in class AbstractFilter
    • newBuilder

      @PluginBuilderFactory public static BurstFilter.Builder newBuilder()