org.apache.log.output.io.rotate

Class RotateStrategyBySize

public class RotateStrategyBySize extends 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.

Author: Leo Sutic Bernhard Huber

Field Summary
longm_currentSize
longm_maxSize
Constructor Summary
RotateStrategyBySize()
Rotate logs by size.
RotateStrategyBySize(long maxSize)
Rotate logs by size.
Method Summary
booleanisRotationNeeded(String data, File file)
Check if now a log rotation is neccessary.
voidreset()
Reset log size written so far.

Field Detail

m_currentSize

private long m_currentSize

m_maxSize

private long m_maxSize

Constructor Detail

RotateStrategyBySize

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

RotateStrategyBySize

public RotateStrategyBySize(long maxSize)
Rotate logs by size.

Parameters: maxSize rotate before writing maxSize [byte] of messages

Method Detail

isRotationNeeded

public boolean isRotationNeeded(String data, File file)
Check if now a log rotation is neccessary.

Parameters: data the message about to be written to the log system file not used

Returns: boolean return true if log rotation is neccessary, else false

reset

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