org.apache.log.output.io.rotate
Class RotateStrategyByTime

java.lang.Object
  extended by org.apache.log.output.io.rotate.RotateStrategyByTime
All 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(java.lang.String data, java.io.File file)
          Check if now a log rotation is neccessary.
 void reset()
          reset interval history counters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_timeInterval

private long m_timeInterval

m_startingTime

private long m_startingTime

m_currentRotation

private long m_currentRotation
Constructor Detail

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 Detail

reset

public void reset()
reset interval history counters.

Specified by:
reset in interface RotateStrategy

isRotationNeeded

public boolean isRotationNeeded(java.lang.String data,
                                java.io.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