Class CronTriggeringPolicy
java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.appender.rolling.AbstractTriggeringPolicy
org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy
- All Implemented Interfaces:
TriggeringPolicy
,LifeCycle
,LifeCycle2
@Plugin(name="CronTriggeringPolicy",
category="Core",
printObject=true)
@Scheduled
public final class CronTriggeringPolicy
extends AbstractTriggeringPolicy
Rolls a file over based on a cron schedule.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private final Configuration
private final CronExpression
private static final String
private CronScheduledFuture
<?> private Date
private RollingFileManager
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
CronTriggeringPolicy
(CronExpression schedule, boolean checkOnStartup, Configuration configuration) -
Method Summary
Modifier and TypeMethodDescriptionstatic CronTriggeringPolicy
createPolicy
(Configuration configuration, String evaluateOnStartup, String schedule) Creates a ScheduledTriggeringPolicy.private static CronExpression
getSchedule
(String expression) void
initialize
(RollingFileManager aManager) Initializes the policy.boolean
isTriggeringEvent
(LogEvent event) Determines whether a rollover should occur.private void
rollover()
boolean
Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.toString()
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, start, stop, stop
-
Field Details
-
defaultSchedule
- See Also:
-
manager
-
cronExpression
-
configuration
-
checkOnStartup
private final boolean checkOnStartup -
lastRollDate
-
future
-
-
Constructor Details
-
CronTriggeringPolicy
private CronTriggeringPolicy(CronExpression schedule, boolean checkOnStartup, Configuration configuration)
-
-
Method Details
-
initialize
Initializes the policy.- Parameters:
aManager
- The RollingFileManager.
-
isTriggeringEvent
Determines whether a rollover should occur.- Parameters:
event
- A reference to the currently event.- Returns:
- true if a rollover should occur.
-
getCronExpression
-
createPolicy
@PluginFactory public static CronTriggeringPolicy createPolicy(@PluginConfiguration Configuration configuration, @PluginAttribute("evaluateOnStartup") String evaluateOnStartup, @PluginAttribute("schedule") String schedule) Creates a ScheduledTriggeringPolicy.- Parameters:
configuration
- the Configuration.evaluateOnStartup
- check if the file should be rolled over immediately.schedule
- the cron expression.- Returns:
- a ScheduledTriggeringPolicy.
-
getSchedule
-
rollover
private void rollover() -
stop
Description copied from interface:LifeCycle2
Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.- Specified by:
stop
in interfaceLifeCycle2
- Overrides:
stop
in classAbstractLifeCycle
- Parameters:
timeout
- the maximum time to waittimeUnit
- the time unit of the timeout argument- Returns:
- true if the receiver was stopped cleanly and normally, false otherwise.
-
toString
-