AsyncFileHandler (Apache Tomcat 9.0.111 API Documentation)
Description: declaration: package: org.apache.juli, class: AsyncFileHandler

# Class AsyncFileHandler

java.lang.Object
java.util.logging.Handler
org.apache.juli.FileHandler
org.apache.juli.AsyncFileHandler

public class AsyncFileHandler extends FileHandler
A `FileHandler` implementation that uses a queue of log entries.

Configuration properties are inherited from the `FileHandler` class. This class does not add its own configuration properties for the logging configuration, but relies on the following system properties instead:

- `org.apache.juli.AsyncOverflowDropType` Default value: `1`
- `org.apache.juli.AsyncMaxRecordCount` Default value: `10000`

See the System Properties page in the configuration reference of Tomcat.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class FileHandler

  `FileHandler.ThreadFactory`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected boolean`
  `closed`
  `static final int`
  `DEFAULT_MAX_RECORDS`
  `static final int`
  `DEFAULT_OVERFLOW_DROP_TYPE`
  `static final int`
  `MAX_RECORDS`
  `static final int`
  `OVERFLOW_DROP_CURRENT`
  `static final int`
  `OVERFLOW_DROP_FIRST`
  `static final int`
  `OVERFLOW_DROP_FLUSH`
  `static final int`
  `OVERFLOW_DROP_LAST`
  `static final int`
  `OVERFLOW_DROP_TYPE`

  ### Fields inherited from class FileHandler

  `DEFAULT_BUFFER_SIZE, DEFAULT_MAX_DAYS, writerLock`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AsyncFileHandler()`
  `AsyncFileHandler(String directory, String prefix, String suffix)`
  `AsyncFileHandler(String directory, String prefix, String suffix, Integer maxDays)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Close the currently open log file (if any).
  `protected void`
  `open()`
  Open the new log file for the date specified by `date`.
  `void`
  `publish(LogRecord record)`
  Format and publish a `LogRecord`.
  `protected void`
  `publishInternal(LogRecord record)`

  ### Methods inherited from class FileHandler

  `closeWriter, flush, openWriter`

  ### Methods inherited from class Handler

  `getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevel`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### OVERFLOW_DROP_LAST

    public static final int OVERFLOW_DROP_LAST
    See Also:
      - Constant Field Values

  - ### OVERFLOW_DROP_FIRST

    public static final int OVERFLOW_DROP_FIRST
    See Also:
      - Constant Field Values

  - ### OVERFLOW_DROP_FLUSH

    public static final int OVERFLOW_DROP_FLUSH
    See Also:
      - Constant Field Values

  - ### OVERFLOW_DROP_CURRENT

    public static final int OVERFLOW_DROP_CURRENT
    See Also:
      - Constant Field Values

  - ### DEFAULT_OVERFLOW_DROP_TYPE

    public static final int DEFAULT_OVERFLOW_DROP_TYPE
    See Also:
      - Constant Field Values

  - ### DEFAULT_MAX_RECORDS

    public static final int DEFAULT_MAX_RECORDS
    See Also:
      - Constant Field Values

  - ### OVERFLOW_DROP_TYPE

    public static final int OVERFLOW_DROP_TYPE

  - ### MAX_RECORDS

    public static final int MAX_RECORDS

  - ### closed

    protected volatile boolean closed

- ## Constructor Details

  - ### AsyncFileHandler

    public AsyncFileHandler()

  - ### AsyncFileHandler

    public AsyncFileHandler(String directory, String prefix, String suffix)

  - ### AsyncFileHandler

    public AsyncFileHandler(String directory, String prefix, String suffix, Integer maxDays)

- ## Method Details

  - ### close

    public void close()
    Description copied from class: `FileHandler`
    Close the currently open log file (if any).
    Overrides:
      `close` in class `FileHandler`

  - ### open

    protected void open()
    Description copied from class: `FileHandler`
    Open the new log file for the date specified by `date`.
    Overrides:
      `open` in class `FileHandler`

  - ### publish

    public void publish(LogRecord record)
    Description copied from class: `FileHandler`
    Format and publish a `LogRecord`.
    Overrides:
      `publish` in class `FileHandler`
    Parameters:
      `record` - description of the log event

  - ### publishInternal

    protected void publishInternal(LogRecord record)