# 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 org.apache.juli.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 org.apache.juli.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).
`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 org.apache.juli.FileHandler

`closeWriter, flush, openWriter`

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

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

### Methods inherited from class java.lang.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

public 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)