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:
  Closeable, Flushable, AutoCloseable, FlushableCloseable, Protectable

    public class SizeRotatingFileHandler
    extends FileHandler

### Field Summary

### Fields inherited from class org.jboss.logmanager.handlers.WriterHandler

`outputLock`

### Fields inherited from class org.jboss.logmanager.ExtHandler

`handlers, handlersUpdater`

### Constructor Summary

Constructors
Constructor and Description
`SizeRotatingFileHandler()` Construct a new instance with no formatter and no output file.
`SizeRotatingFileHandler(File file)` Construct a new instance with the given output file.
`SizeRotatingFileHandler(File file, boolean append)` Construct a new instance with the given output file and append setting.
`SizeRotatingFileHandler(File file, boolean append, long rotateSize, int maxBackupIndex)` Construct a new instance with the given output file and append setting.
`SizeRotatingFileHandler(File file, long rotateSize, int maxBackupIndex)` Construct a new instance with the given output file.
`SizeRotatingFileHandler(long rotateSize, int maxBackupIndex)` Construct a new instance with no formatter and no output file.
`SizeRotatingFileHandler(String fileName)` Construct a new instance with the given output file.
`SizeRotatingFileHandler(String fileName, boolean append)` Construct a new instance with the given output file and append setting.

### Method Summary

Methods
`String` `getSuffix()` Returns the suffix set to be appended to files during rotation.
`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 of `true` if the file should be rotated before the a new file is set.
`void` `setRotateSize(long rotateSize)` Set the rotation size, in bytes.
`void` `setSuffix(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`

### Methods inherited from class java.util.logging.Handler

`getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SizeRotatingFileHandler

    public SizeRotatingFileHandler()

Construct a new instance with no formatter and no output file.

#### SizeRotatingFileHandler

    public SizeRotatingFileHandler(File file)
                            throws FileNotFoundException

Construct a new instance with the given output file.

Parameters:
  `file` - the file
Throws:
  `FileNotFoundException` - if the file could not be found on open

#### SizeRotatingFileHandler

    public SizeRotatingFileHandler(File file,
                           boolean append)
                            throws FileNotFoundException

Construct a new instance with the given output file and append setting.

Parameters:
  `file` - the file
  `append` - `true` to append, `false` to overwrite
Throws:
  `FileNotFoundException` - if the file could not be found on open

#### SizeRotatingFileHandler

    public SizeRotatingFileHandler(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

#### SizeRotatingFileHandler

    public SizeRotatingFileHandler(String fileName,
                           boolean append)
                            throws FileNotFoundException

Construct a new instance with the given output file and append setting.

Parameters:
  `fileName` - the file name
  `append` - `true` to append, `false` to overwrite
Throws:
  `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(File file,
                           long rotateSize,
                           int maxBackupIndex)
                            throws FileNotFoundException

Construct a new instance with the given output file.

Parameters:
  `file` - the file
Throws:
  `FileNotFoundException` - if the file could not be found on open

#### SizeRotatingFileHandler

    public SizeRotatingFileHandler(File file,
                           boolean append,
                           long rotateSize,
                           int maxBackupIndex)
                            throws FileNotFoundException

Construct a new instance with the given output file and append setting.

Parameters:
  `file` - the file
  `append` - `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)

Set the output stream to write to.

Overrides:
  `setOutputStream` in class `OutputStreamHandler`
Parameters:
  `outputStream` - the new output stream or `null` for none

#### setFile

    public void setFile(File file)
                 throws FileNotFoundException

Set the output file.

Overrides:
  `setFile` in class `FileHandler`
Parameters:
  `file` - the file
Throws:
  `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:
  `true` if file should rotate on boot, otherwise `false`/

#### setRotateOnBoot

    public void setRotateOnBoot(boolean rotateOnBoot)

Set to a value of `true` 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 a `length` greater than 0.

Parameters:
  `rotateOnBoot` - `true` to rotate on boot, otherwise `false`

#### 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 String getSuffix()

Returns the suffix set to be appended to files during rotation.

Returns:
  the suffix or `null` if no suffix should be used

#### setSuffix

    public void setSuffix(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 the `SimpleDateFormat`.

Note: Any files rotated with the suffix appended will not be deleted. The `maxBackupIndex` is 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:
  `preWrite` in class `WriterHandler`
Parameters:
  `record` - the record about to be logged