Package org.jboss.logmanager.handlers
Class SizeRotatingFileHandler
- 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.SizeRotatingFileHandler
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable,FlushableCloseable,Protectable
public class SizeRotatingFileHandler extends FileHandler
-
-
Field Summary
Fields Modifier and Type Field Description private intmaxBackupIndexprivate CountingOutputStreamoutputStreamprivate booleanrotateOnBootprivate longrotateSizeprivate java.lang.Stringsuffix-
Fields inherited from class org.jboss.logmanager.handlers.WriterHandler
outputLock
-
Fields inherited from class org.jboss.logmanager.ExtHandler
handlers, handlersUpdater
-
-
Constructor Summary
Constructors Constructor Description SizeRotatingFileHandler()Construct a new instance with no formatter and no output file.SizeRotatingFileHandler(long rotateSize, int maxBackupIndex)Construct a new instance with no formatter and no output file.SizeRotatingFileHandler(java.io.File file)Construct a new instance with the given output file.SizeRotatingFileHandler(java.io.File file, boolean append)Construct a new instance with the given output file and append setting.SizeRotatingFileHandler(java.io.File file, boolean append, long rotateSize, int maxBackupIndex)Construct a new instance with the given output file and append setting.SizeRotatingFileHandler(java.io.File file, long rotateSize, int maxBackupIndex)Construct a new instance with the given output file.SizeRotatingFileHandler(java.lang.String fileName)Construct a new instance with the given output file.SizeRotatingFileHandler(java.lang.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 java.lang.StringgetSuffix()Returns the suffix set to be appended to files during rotation.booleanisRotateOnBoot()Indicates whether or a not the handler should rotate the file before the first log record is written.protected voidpreWrite(ExtLogRecord record)Execute any pre-write policy, such as file rotation.private voidrotate(java.io.File file)voidsetFile(java.io.File file)Set the output file.voidsetMaxBackupIndex(int maxBackupIndex)Set the maximum backup index (the number of log files to keep around).voidsetOutputStream(java.io.OutputStream outputStream)Set the output stream to write to.voidsetRotateOnBoot(boolean rotateOnBoot)Set to a value oftrueif the file should be rotated before the a new file is set.voidsetRotateSize(long rotateSize)Set the rotation size, in bytes.voidsetSuffix(java.lang.String suffix)Sets the suffix to be appended to the file name during the file rotation.-
Methods inherited from class org.jboss.logmanager.handlers.FileHandler
getFile, setAppend, setFileName
-
Methods inherited from class org.jboss.logmanager.handlers.OutputStreamHandler
getEncoding, setEncoding, setWriter
-
Methods inherited from class org.jboss.logmanager.handlers.WriterHandler
close, doPublish, flush, safeClose
-
Methods inherited from class org.jboss.logmanager.ExtHandler
addHandler, checkAccess, checkAccess, clearHandlers, disableAccess, enableAccess, getHandlers, isAutoFlush, isEnabled, protect, publish, publish, removeHandler, setAutoFlush, setEnabled, setErrorManager, setFilter, setFormatter, setHandlers, setLevel, unprotect
-
-
-
-
Field Detail
-
rotateSize
private long rotateSize
-
maxBackupIndex
private int maxBackupIndex
-
outputStream
private CountingOutputStream outputStream
-
rotateOnBoot
private boolean rotateOnBoot
-
suffix
private java.lang.String suffix
-
-
Constructor Detail
-
SizeRotatingFileHandler
public SizeRotatingFileHandler()
Construct a new instance with no formatter and no output file.
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(java.io.File file) throws java.io.FileNotFoundExceptionConstruct a new instance with the given output file.- Parameters:
file- the file- Throws:
java.io.FileNotFoundException- if the file could not be found on open
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(java.io.File file, boolean append) throws java.io.FileNotFoundExceptionConstruct a new instance with the given output file and append setting.- Parameters:
file- the fileappend-trueto append,falseto overwrite- Throws:
java.io.FileNotFoundException- if the file could not be found on open
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(java.lang.String fileName) throws java.io.FileNotFoundExceptionConstruct a new instance with the given output file.- Parameters:
fileName- the file name- Throws:
java.io.FileNotFoundException- if the file could not be found on open
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(java.lang.String fileName, boolean append) throws java.io.FileNotFoundExceptionConstruct a new instance with the given output file and append setting.- Parameters:
fileName- the file nameappend-trueto append,falseto overwrite- Throws:
java.io.FileNotFoundException- if the file could not be found on open
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(long rotateSize, int maxBackupIndex)Construct a new instance with no formatter and no output file.
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(java.io.File file, long rotateSize, int maxBackupIndex) throws java.io.FileNotFoundExceptionConstruct a new instance with the given output file.- Parameters:
file- the file- Throws:
java.io.FileNotFoundException- if the file could not be found on open
-
SizeRotatingFileHandler
public SizeRotatingFileHandler(java.io.File file, boolean append, long rotateSize, int maxBackupIndex) throws java.io.FileNotFoundExceptionConstruct a new instance with the given output file and append setting.- Parameters:
file- the fileappend-trueto append,falseto overwrite- Throws:
java.io.FileNotFoundException- if the file could not be found on open
-
-
Method Detail
-
setOutputStream
public void setOutputStream(java.io.OutputStream outputStream)
Set the output stream to write to.- Overrides:
setOutputStreamin classOutputStreamHandler- Parameters:
outputStream- the new output stream ornullfor none
-
setFile
public void setFile(java.io.File file) throws java.io.FileNotFoundExceptionSet the output file.- Overrides:
setFilein classFileHandler- Parameters:
file- the file- Throws:
java.lang.RuntimeException- if there is an attempt to rotate file and the rotation failsjava.io.FileNotFoundException- 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:
trueif file should rotate on boot, otherwisefalse/
-
setRotateOnBoot
public void setRotateOnBoot(boolean rotateOnBoot)
Set to a value oftrueif 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 alengthgreater than 0.- Parameters:
rotateOnBoot-trueto 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
-
getSuffix
public java.lang.String getSuffix()
Returns the suffix set to be appended to files during rotation.- Returns:
- the suffix or
nullif no suffix should be used
-
setSuffix
public void setSuffix(java.lang.String suffix)
Sets the suffix to be appended to the file name during the file rotation. The suffix does not play a role in determining when the file should be rotated. The suffix must be a string understood by theSimpleDateFormat. Note: Any files rotated with the suffix appended will not be deleted. ThemaxBackupIndexis not used for files with a suffix.- Parameters:
suffix- the suffix to place after the filename when the file is rotated
-
preWrite
protected void preWrite(ExtLogRecord record)
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.- Overrides:
preWritein classWriterHandler- Parameters:
record- the record about to be logged
-
rotate
private void rotate(java.io.File file) throws java.io.IOException- Throws:
java.io.IOException
-
-