Class 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.

  • Field Details

    • OVERFLOW_DROP_LAST

      public static final int OVERFLOW_DROP_LAST
      Overflow policy: drop the last record in the queue.
      See Also:
    • OVERFLOW_DROP_FIRST

      public static final int OVERFLOW_DROP_FIRST
      Overflow policy: drop the first (oldest) record in the queue.
      See Also:
    • OVERFLOW_DROP_FLUSH

      public static final int OVERFLOW_DROP_FLUSH
      Overflow policy: flush the queue and retry.
      See Also:
    • OVERFLOW_DROP_CURRENT

      public static final int OVERFLOW_DROP_CURRENT
      Overflow policy: drop the current record.
      See Also:
    • DEFAULT_OVERFLOW_DROP_TYPE

      public static final int DEFAULT_OVERFLOW_DROP_TYPE
      Default overflow drop type value.
      See Also:
    • DEFAULT_MAX_RECORDS

      public static final int DEFAULT_MAX_RECORDS
      Default maximum number of records in the queue.
      See Also:
    • OVERFLOW_DROP_TYPE

      public static final int OVERFLOW_DROP_TYPE
      Configured overflow drop type from system property.
    • MAX_RECORDS

      public static final int MAX_RECORDS
      Configured maximum record count from system property.
    • closed

      protected volatile boolean closed
      Indicates whether this handler has been closed.
  • Constructor Details

    • AsyncFileHandler

      public AsyncFileHandler()
      Constructs an AsyncFileHandler with default settings.
    • AsyncFileHandler

      public AsyncFileHandler(String directory, String prefix, String suffix)
      Constructs an AsyncFileHandler with the specified directory, prefix, and suffix.
      Parameters:
      directory - The directory for log files
      prefix - The log file name prefix
      suffix - The log file name suffix
    • AsyncFileHandler

      public AsyncFileHandler(String directory, String prefix, String suffix, Integer maxDays)
      Constructs an AsyncFileHandler with the specified directory, prefix, suffix, and max days.
      Parameters:
      directory - The directory for log files
      prefix - The log file name prefix
      suffix - The log file name suffix
      maxDays - Maximum number of days to keep log files
  • 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)
      Publishes a log record to the underlying handler.
      Parameters:
      record - The log record to publish