org.apache.log.output.io.rotate

Class RotateStrategyByTimeOfDay

Implemented Interfaces:
RotateStrategy

public class RotateStrategyByTimeOfDay
extends java.lang.Object
implements RotateStrategy

Rotation stragety based on a specific time of day.
Author:
Leif Mortenson

Field Summary

private static long
TIME_24_HOURS
Constant that stores the the number of ms in 24 hours.
private long
m_currentRotation
Time in ms that the current rotation started.

Constructor Summary

RotateStrategyByTimeOfDay()
Rotate logs at specific time of day.
RotateStrategyByTimeOfDay(long time)
Rotate logs at specific time of day.

Method Summary

boolean
isRotationNeeded(String data, File file)
Check if now a log rotation is neccessary.
void
reset()
reset interval history counters.

Field Details

TIME_24_HOURS

private static final long TIME_24_HOURS
Constant that stores the the number of ms in 24 hours.
Field Value:
86400000L

m_currentRotation

private long m_currentRotation
Time in ms that the current rotation started.

Constructor Details

RotateStrategyByTimeOfDay

public RotateStrategyByTimeOfDay()
Rotate logs at specific time of day. By default do log rotation at 00:00:00 every day.

RotateStrategyByTimeOfDay

public RotateStrategyByTimeOfDay(long time)
Rotate logs at specific time of day.
Parameters:
time - Offset in milliseconds into the day to perform the log rotation.

Method Details

isRotationNeeded

public boolean isRotationNeeded(String data,
                                File file)
Check if now a log rotation is neccessary. If the time of the current rotation + 24 hours is less than the current time. If not then a rotation is needed.
Specified by:
isRotationNeeded in interface RotateStrategy
Parameters:
data - the last message written to the log system
file - not used
Returns:
boolean return true if log rotation is neccessary, else false

reset

public void reset()
reset interval history counters.
Specified by:
reset in interface RotateStrategy