Package org.jboss.logmanager.handlers
Class PeriodicSizeRotatingFileHandler
- java.lang.Object
-
- java.util.logging.Handler
-
- org.jboss.logmanager.ExtHandler
-
- org.jboss.logmanager.handlers.WriterHandler
-
- org.jboss.logmanager.handlers.OutputStreamHandler
-
- org.jboss.logmanager.handlers.FileHandler
-
- org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
-
- org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler
-
- All Implemented Interfaces:
Flushable
,AutoCloseable
public class PeriodicSizeRotatingFileHandler extends PeriodicRotatingFileHandler
A file handler which rotates the log at a preset time interval or the size of the log. The time interval is determined by the content of the suffix string which is passed in toPeriodicRotatingFileHandler.setSuffix(String)
. The size interval is determined by the value passed in thesetRotateSize(long)
.- Author:
- James R. Perkins
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
PeriodicRotatingFileHandler.Period
-
-
Field Summary
-
Fields inherited from class org.jboss.logmanager.ExtHandler
handlers, handlersUpdater, lock
-
-
Constructor Summary
Constructors Constructor Description PeriodicSizeRotatingFileHandler()
Default constructor.PeriodicSizeRotatingFileHandler(File file, String suffix)
Construct a new instance with the given output file.PeriodicSizeRotatingFileHandler(File file, String suffix, boolean append)
Construct a new instance with the given output file and append setting.PeriodicSizeRotatingFileHandler(File file, String suffix, long rotateSize, int maxBackupIndex)
Construct a new instance with the given output file.PeriodicSizeRotatingFileHandler(File file, String suffix, long rotateSize, int maxBackupIndex, boolean append)
Construct a new instance with the given output file.PeriodicSizeRotatingFileHandler(String fileName)
Construct a new instance with the given output file.PeriodicSizeRotatingFileHandler(String fileName, boolean append)
Construct a new instance with the given output file and append setting.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isRotateOnBoot()
Indicates whether or a not the handler should rotate the file before the first log record is written.protected void
preWrite(ExtLogRecord record)
Execute any pre-write policy, such as file rotation.void
setFile(File file)
Set the output file.void
setMaxBackupIndex(int maxBackupIndex)
Set the maximum backup index (the number of log files to keep around).void
setOutputStream(OutputStream outputStream)
Set the output stream to write to.void
setRotateOnBoot(boolean rotateOnBoot)
Set to a value oftrue
if the file should be rotated before the a new file is set.void
setRotateSize(long rotateSize)
Set the rotation size, in bytes.-
Methods inherited from class org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
getNextSuffix, getTimeZone, setSuffix, setTimeZone
-
Methods inherited from class org.jboss.logmanager.handlers.FileHandler
getFile, setAppend, setFileName
-
Methods inherited from class org.jboss.logmanager.handlers.OutputStreamHandler
getCharset, setCharsetPrivate, setWriter
-
Methods inherited from class org.jboss.logmanager.handlers.WriterHandler
close, doPublish, flush, isCheckHeadEncoding, isCheckTailEncoding, safeClose, setCheckHeadEncoding, setCheckTailEncoding
-
Methods inherited from class org.jboss.logmanager.ExtHandler
addHandler, checkAccess, checkAccess, clearHandlers, getEncoding, getErrorManager, getFilter, getFormatter, getHandlers, getLevel, isAutoFlush, isCallerCalculationRequired, isCloseChildren, isEnabled, publish, publish, publishToNestedHandlers, removeHandler, reportError, reportError, setAutoFlush, setCharset, setCloseChildren, setEnabled, setEncoding, setErrorManager, setFilter, setFormatter, setHandlers, setLevel
-
Methods inherited from class java.util.logging.Handler
isLoggable
-
-
-
-
Constructor Detail
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler()
Default constructor.
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler(String fileName) throws FileNotFoundException
Construct a new instance with the given output file.- Parameters:
fileName
- the file name- Throws:
FileNotFoundException
- if the file could not be found on open
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler(String fileName, boolean append) throws FileNotFoundException
Construct a new instance with the given output file and append setting.- Parameters:
fileName
- the file nameappend
-true
to append,false
to overwrite- Throws:
FileNotFoundException
- if the file could not be found on open
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler(File file, String suffix) throws FileNotFoundException
Construct a new instance with the given output file.- Parameters:
file
- the filesuffix
- the format suffix to use- Throws:
FileNotFoundException
- if the file could not be found on open
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler(File file, String suffix, boolean append) throws FileNotFoundException
Construct a new instance with the given output file and append setting.- Parameters:
file
- the filesuffix
- the format suffix to useappend
-true
to append,false
to overwrite- Throws:
FileNotFoundException
- if the file could not be found on open
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler(File file, String suffix, long rotateSize, int maxBackupIndex) throws FileNotFoundException
Construct a new instance with the given output file.- Parameters:
file
- the filesuffix
- the format suffix to userotateSize
- the size the file should rotate atmaxBackupIndex
- the maximum number of files to backup- Throws:
FileNotFoundException
- if the file could not be found on open
-
PeriodicSizeRotatingFileHandler
public PeriodicSizeRotatingFileHandler(File file, String suffix, long rotateSize, int maxBackupIndex, boolean append) throws FileNotFoundException
Construct a new instance with the given output file.- Parameters:
file
- the filesuffix
- the format suffix to userotateSize
- the size the file should rotate atmaxBackupIndex
- the maximum number of files to backupappend
-true
to append,false
to overwrite- Throws:
FileNotFoundException
- if the file could not be found on open
-
-
Method Detail
-
setOutputStream
public void setOutputStream(OutputStream outputStream)
Description copied from class:OutputStreamHandler
Set the output stream to write to. The output stream will then belong to this handler; when the handler is closed or a new writer or output stream is set, this output stream will be closed.- Overrides:
setOutputStream
in classOutputStreamHandler
- Parameters:
outputStream
- the new output stream ornull
for none
-
setFile
public void setFile(File file) throws FileNotFoundException
Set the output file.- Overrides:
setFile
in classPeriodicRotatingFileHandler
- Parameters:
file
- the file- Throws:
RuntimeException
- if there is an attempt to rotate file and the rotation failsFileNotFoundException
- if an error occurs opening the file
-
isRotateOnBoot
public boolean isRotateOnBoot()
Indicates whether or a not the handler should rotate the file before the first log record is written.- Returns:
true
if file should rotate on boot, otherwisefalse
/
-
setRotateOnBoot
public void setRotateOnBoot(boolean rotateOnBoot)
Set to a value oftrue
if the file should be rotated before the a new file is set. The rotation only happens if the file names are the same and the file has alength
greater than 0.- Parameters:
rotateOnBoot
-true
to rotate on boot, otherwisefalse
-
setRotateSize
public void setRotateSize(long rotateSize)
Set the rotation size, in bytes.- Parameters:
rotateSize
- the number of bytes before the log is rotated
-
setMaxBackupIndex
public void setMaxBackupIndex(int maxBackupIndex)
Set the maximum backup index (the number of log files to keep around).- Parameters:
maxBackupIndex
- the maximum backup index
-
preWrite
protected void preWrite(ExtLogRecord record)
Description copied from class:PeriodicRotatingFileHandler
Execute any pre-write policy, such as file rotation. The write lock is held during this method, so make it quick. The default implementation does nothing. This implementation checks to see if the scheduled rollover time has yet occurred.- Overrides:
preWrite
in classPeriodicRotatingFileHandler
- Parameters:
record
- the record about to be logged
-
-