Class RotateStrategyBySize

All Implemented Interfaces:

public class RotateStrategyBySize
extends java.lang.Object
implements RotateStrategy

Rotation strategy based on size written to log file. The strategy will signal that a rotation is needed if the size goes above a set limit. Due to performance reasons the limit is not strictly enforced, however, the strategy has at most an error of the longest single data message written to the logging system. The error will occur immediately after a rotation, when the strategy is reset and the data that triggered the rotation is written. The strategy's internal counter will then be off with data.length() bytes.

Leo Sutic, Bernhard Huber

Constructor Summary
          Rotate logs by size.
RotateStrategyBySize(long maxSize)
          Rotate logs by size.
Method Summary
 boolean isRotationNeeded(java.lang.String data, file)
          Check if now a log rotation is neccessary.
 void reset()
          Reset log size written so far.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public RotateStrategyBySize()
Rotate logs by size. By default do log rotation before writing approx. 1MB of messages


public RotateStrategyBySize(long maxSize)
Rotate logs by size.

maxSize - rotate before writing maxSize [byte] of messages
Method Detail


public void reset()
Reset log size written so far.

Specified by:
reset in interface RotateStrategy


public boolean isRotationNeeded(java.lang.String data,
Check if now a log rotation is neccessary.

Specified by:
isRotationNeeded in interface RotateStrategy
data - the message about to be written to the log system
file - not used
boolean return true if log rotation is neccessary, else false

Copyright © 1997-2005 The Apache Software Foundation. All Rights Reserved.