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 booleanprivate final Configurationprivate final CronExpressionprivate static final Stringprivate CronScheduledFuture<?> private Dateprivate RollingFileManagerFields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateCronTriggeringPolicy(CronExpression schedule, boolean checkOnStartup, Configuration configuration) -
Method Summary
Modifier and TypeMethodDescriptionstatic CronTriggeringPolicycreatePolicy(Configuration configuration, String evaluateOnStartup, String schedule) Creates a ScheduledTriggeringPolicy.private static CronExpressiongetSchedule(String expression) voidinitialize(RollingFileManager aManager) Initializes the policy.booleanisTriggeringEvent(LogEvent event) Determines whether a rollover should occur.private voidrollover()booleanBlocks 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:LifeCycle2Blocks 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:
stopin interfaceLifeCycle2- Overrides:
stopin 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
-