Package org.apache.log.output.io.rotate
Class RotateStrategyBySize
java.lang.Object
org.apache.log.output.io.rotate.RotateStrategyBySize
- All Implemented Interfaces:
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
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRotate logs by size.RotateStrategyBySize
(long maxSize) Rotate logs by size. -
Method Summary
Modifier and TypeMethodDescriptionboolean
isRotationNeeded
(String data, File file) Check if now a log rotation is neccessary.void
reset()
Reset log size written so far.
-
Field Details
-
m_maxSize
private long m_maxSize -
m_currentSize
private long m_currentSize
-
-
Constructor Details
-
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 Details
-
reset
public void reset()Reset log size written so far.- Specified by:
reset
in interfaceRotateStrategy
-
isRotationNeeded
Check if now a log rotation is neccessary.- Specified by:
isRotationNeeded
in interfaceRotateStrategy
- Parameters:
data
- the message about to be written to the log systemfile
- not used- Returns:
- boolean return true if log rotation is neccessary, else false
-