Package org.jboss.logmanager.handlers

## Class PeriodicRotatingFileHandler

- 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

All Implemented Interfaces:
  `java.io.Closeable`, `java.io.Flushable`, `java.lang.AutoCloseable`, `FlushableCloseable`, `Protectable`

Direct Known Subclasses:
  `PeriodicSizeRotatingFileHandler`

    public class PeriodicRotatingFileHandler
    extends FileHandler

A file handler which rotates the log at a preset time interval. The interval is determined by the content of the suffix string which is passed in to `setSuffix(String)`.

### Nested Class Summary

Nested Classes
`static class` `PeriodicRotatingFileHandler.Period` Possible period values.

### Field Summary

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

`handlers, handlersUpdater`

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

`outputLock`

### Constructor Summary

Constructors
`PeriodicRotatingFileHandler()` Construct a new instance with no formatter and no output file.
`PeriodicRotatingFileHandler​(java.io.File file, java.lang.String suffix)` Construct a new instance with the given output file.
`PeriodicRotatingFileHandler​(java.io.File file, java.lang.String suffix, boolean append)` Construct a new instance with the given output file and append setting.
`PeriodicRotatingFileHandler​(java.lang.String fileName)` Construct a new instance with the given output file.
`PeriodicRotatingFileHandler​(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
`protected java.lang.String` `getNextSuffix()` Returns the suffix to be used.
`java.util.TimeZone` `getTimeZone()` Get the configured time zone for this handler.
`protected void` `preWrite​(ExtLogRecord record)` Execute any pre-write policy, such as file rotation.
`void` `setFile​(java.io.File file)` Set the output file.
`void` `setSuffix​(java.lang.String suffix)` Set the suffix string.
`void` `setTimeZone​(java.util.TimeZone timeZone)` Set the configured time zone for this handler.

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

`addHandler, checkAccess, checkAccess, clearHandlers, disableAccess, enableAccess, getHandlers, isAutoFlush, isCallerCalculationRequired, isCloseChildren, isEnabled, protect, publish, publish, removeHandler, setAutoFlush, setCloseChildren, setEnabled, setErrorManager, setFilter, setFormatter, setHandlers, setLevel, unprotect`

### Methods inherited from class org.jboss.logmanager.handlers.FileHandler

`getFile, setAppend, setFileName`

### 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`

### Methods inherited from class org.jboss.logmanager.handlers.OutputStreamHandler

`getEncoding, setEncoding, setOutputStream, setWriter`

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

`close, doPublish, flush, safeClose`

### Constructor Detail

#### PeriodicRotatingFileHandler

    public PeriodicRotatingFileHandler()

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

#### PeriodicRotatingFileHandler

    public PeriodicRotatingFileHandler​(java.lang.String fileName)
                                throws java.io.FileNotFoundException

Construct 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

#### PeriodicRotatingFileHandler

    public PeriodicRotatingFileHandler​(java.lang.String fileName,
                                       boolean append)
                                throws java.io.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:
  `java.io.FileNotFoundException` - if the file could not be found on open

#### PeriodicRotatingFileHandler

    public PeriodicRotatingFileHandler​(java.io.File file,
                                       java.lang.String suffix)
                                throws java.io.FileNotFoundException

Construct a new instance with the given output file.

Parameters:
  `file` - the file
  `suffix` - the format suffix to use
Throws:
  `java.io.FileNotFoundException` - if the file could not be found on open

#### PeriodicRotatingFileHandler

    public PeriodicRotatingFileHandler​(java.io.File file,
                                       java.lang.String suffix,
                                       boolean append)
                                throws java.io.FileNotFoundException

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

Parameters:
  `file` - the file
  `suffix` - the format suffix to use
  `append` - `true` to append, `false` to overwrite
Throws:
  `java.io.FileNotFoundException` - if the file could not be found on open

### Method Detail

#### setFile

    public void setFile​(java.io.File file)
                 throws java.io.FileNotFoundException

Description copied from class: `FileHandler`
Set the output file.

Overrides:
  `setFile` in class `FileHandler`
Parameters:
  `file` - the file
Throws:
  `java.io.FileNotFoundException` - if an error occurs opening the file

#### 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. This implementation checks to see if the scheduled rollover time has yet occurred.

Overrides:
  `preWrite` in class `WriterHandler`
Parameters:
  `record` - the record about to be logged

#### setSuffix

    public void setSuffix​(java.lang.String suffix)
                   throws java.lang.IllegalArgumentException

Set the suffix string. The string is in a format which can be understood by `SimpleDateFormat`. The period of the rotation is automatically calculated based on the suffix.

If the suffix ends with `.gz` or `.zip` the file will be compressed on rotation.

Parameters:
  `suffix` - the suffix
Throws:
  `java.lang.IllegalArgumentException` - if the suffix is not valid

#### getNextSuffix

    protected final java.lang.String getNextSuffix()

Returns the suffix to be used.

Returns:
  the suffix to be used

#### getTimeZone

    public java.util.TimeZone getTimeZone()

Get the configured time zone for this handler.

Returns:
  the configured time zone

#### setTimeZone

    public void setTimeZone​(java.util.TimeZone timeZone)

Set the configured time zone for this handler.

Parameters:
  `timeZone` - the configured time zone