Class TimeFilter

All Implemented Interfaces:
Filter, LifeCycle, LifeCycle2

@Plugin(name="TimeFilter", category="Core", elementType="filter", printObject=true) public final class TimeFilter extends AbstractFilter
Filters events that fall within a specified time period in each day.
  • Field Details

    • CLOCK

      private static final Clock CLOCK
    • FORMATTER

      private static final DateTimeFormatter FORMATTER
    • HOUR_MS

      private static final long HOUR_MS
      Length of hour in milliseconds.
      See Also:
    • DAY_MS

      private static final long DAY_MS
      See Also:
    • start

      private volatile long start
      Starting offset from midnight in milliseconds.
    • startTime

      private final LocalTime startTime
    • end

      private volatile long end
      Ending offset from midnight in milliseconds.
    • endTime

      private final LocalTime endTime
    • duration

      private final long duration
    • timeZone

      private final ZoneId timeZone
      Timezone.
  • Constructor Details

  • Method Details

    • adjustTimes

      private void adjustTimes(long currentTimeMillis)
    • filter

      Filter.Result filter(long currentTimeMillis)
      Package-protected for tests.
      Parameters:
      currentTimeMillis - the time to compare with the boundaries. May re-initialize the cached midnight boundary values.
      Returns:
      the action to perform
    • 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

      private Filter.Result filter()
    • 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(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, 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, 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.
    • toString

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

      @PluginFactory public static TimeFilter createFilter(@PluginAttribute("start") String start, @PluginAttribute("end") String end, @PluginAttribute("timezone") String tz, @PluginAttribute("onMatch") Filter.Result match, @PluginAttribute("onMismatch") Filter.Result mismatch)
      Creates a TimeFilter.
      Parameters:
      start - The start time.
      end - The end time.
      tz - timezone.
      match - Action to perform if the time matches.
      mismatch - Action to perform if the action does not match.
      Returns:
      A TimeFilter.
    • parseTimestamp

      private static LocalTime parseTimestamp(String timestamp, LocalTime defaultValue)