Class TimeFilter
- java.lang.Object
-
- org.apache.logging.log4j.core.AbstractLifeCycle
-
- org.apache.logging.log4j.core.filter.AbstractFilter
-
- org.apache.logging.log4j.core.filter.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.
-
-
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 Clock
CLOCK
private static long
DAY_MS
private long
duration
private long
end
Ending offset from midnight in milliseconds.private java.time.LocalTime
endTime
private static java.time.format.DateTimeFormatter
FORMATTER
private static long
HOUR_MS
Length of hour in milliseconds.private long
start
Starting offset from midnight in milliseconds.private java.time.LocalTime
startTime
private java.time.ZoneId
timeZone
Timezone.-
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 private
TimeFilter(java.time.LocalTime start, java.time.LocalTime end, java.time.ZoneId timeZone, Filter.Result onMatch, Filter.Result onMismatch)
(package private)
TimeFilter(java.time.LocalTime start, java.time.LocalTime end, java.time.ZoneId timeZone, Filter.Result onMatch, Filter.Result onMismatch, java.time.LocalDate now)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
adjustTimes(long currentTimeMillis)
static TimeFilter
createFilter(java.lang.String start, java.lang.String end, java.lang.String tz, Filter.Result match, Filter.Result mismatch)
Creates a TimeFilter.private Filter.Result
filter()
(package private) Filter.Result
filter(long currentTimeMillis)
Package-protected for tests.Filter.Result
filter(LogEvent event)
Context Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.Object msg, java.lang.Throwable t)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object... params)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
Appender Filter method.Filter.Result
filter(Logger logger, Level level, Marker marker, Message msg, java.lang.Throwable t)
Appender Filter method.private static java.time.LocalTime
parseTimestamp(java.lang.String timestamp, java.time.LocalTime defaultValue)
java.lang.String
toString()
-
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilter
equalsImpl, 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
-
CLOCK
private static final Clock CLOCK
-
FORMATTER
private static final java.time.format.DateTimeFormatter FORMATTER
-
HOUR_MS
private static final long HOUR_MS
Length of hour in milliseconds.- See Also:
- Constant Field Values
-
DAY_MS
private static final long DAY_MS
- See Also:
- Constant Field Values
-
start
private volatile long start
Starting offset from midnight in milliseconds.
-
startTime
private final java.time.LocalTime startTime
-
end
private volatile long end
Ending offset from midnight in milliseconds.
-
endTime
private final java.time.LocalTime endTime
-
duration
private final long duration
-
timeZone
private final java.time.ZoneId timeZone
Timezone.
-
-
Constructor Detail
-
TimeFilter
TimeFilter(java.time.LocalTime start, java.time.LocalTime end, java.time.ZoneId timeZone, Filter.Result onMatch, Filter.Result onMismatch, java.time.LocalDate now)
-
TimeFilter
private TimeFilter(java.time.LocalTime start, java.time.LocalTime end, java.time.ZoneId timeZone, Filter.Result onMatch, Filter.Result onMismatch)
-
-
Method Detail
-
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 interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, java.lang.Throwable t)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, java.lang.Object msg, java.lang.Throwable t)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, java.lang.String msg, java.lang.Object... params)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, java.lang.String msg, java.lang.Object p0)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- 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, java.lang.String msg, java.lang.Object p0, java.lang.Object p1)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parametersp7
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parametersp7
- the message parametersp8
- the message parameters- Returns:
- The Result of filtering.
-
filter
public Filter.Result filter(Logger logger, Level level, Marker marker, java.lang.String msg, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
Description copied from class:AbstractFilter
Appender Filter method. The default returns NEUTRAL.- Specified by:
filter
in interfaceFilter
- Overrides:
filter
in classAbstractFilter
- Parameters:
logger
- the Logger.level
- The logging Level.marker
- The Marker, if any.msg
- The message, if present.p0
- the message parametersp1
- the message parametersp2
- the message parametersp3
- the message parametersp4
- the message parametersp5
- the message parametersp6
- the message parametersp7
- the message parametersp8
- the message parametersp9
- the message parameters- Returns:
- The Result of filtering.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractFilter
-
createFilter
@PluginFactory public static TimeFilter createFilter(@PluginAttribute("start") java.lang.String start, @PluginAttribute("end") java.lang.String end, @PluginAttribute("timezone") java.lang.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 java.time.LocalTime parseTimestamp(java.lang.String timestamp, java.time.LocalTime defaultValue)
-
-