org.apache.log.output.io.rotate

Class RotateStrategyByTime

Implemented Interfaces:
RotateStrategy

public class RotateStrategyByTime
extends java.lang.Object
implements RotateStrategy

rotation stragety based when log writting started.
Author:
Bernhard Huber

Field Summary

private long
m_currentRotation
private long
m_startingTime
private long
m_timeInterval

Constructor Summary

RotateStrategyByTime()
Rotate logs by time.
RotateStrategyByTime(long timeInterval)
Rotate logs by time.

Method Summary

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

Field Details

m_currentRotation

private long m_currentRotation

m_startingTime

private long m_startingTime

m_timeInterval

private long m_timeInterval

Constructor Details

RotateStrategyByTime

public RotateStrategyByTime()
Rotate logs by time. By default do log rotation every 24 hours

RotateStrategyByTime

public RotateStrategyByTime(long timeInterval)
Rotate logs by time.
Parameters:
timeInterval - rotate before time-interval [ms] has expired

Method Details

isRotationNeeded

public boolean isRotationNeeded(String data,
                                File file)
Check if now a log rotation is neccessary. If (current_time - m_startingTime) / m_timeInterval > m_currentRotation 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