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.

    • Constructor Summary

      Constructors 
      Constructor Description
      AsyncFileHandler()
      Constructs an AsyncFileHandler with default settings.
      AsyncFileHandler​(java.lang.String directory, java.lang.String prefix, java.lang.String suffix)
      Constructs an AsyncFileHandler with the specified directory, prefix, and suffix.
      AsyncFileHandler​(java.lang.String directory, java.lang.String prefix, java.lang.String suffix, java.lang.Integer maxDays)
      Constructs an AsyncFileHandler with the specified directory, prefix, suffix, and max days.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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​(java.util.logging.LogRecord record)
      Format and publish a LogRecord.
      protected void publishInternal​(java.util.logging.LogRecord record)
      Publishes a log record to the underlying handler.
      • 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 Detail

      • OVERFLOW_DROP_LAST

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

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

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

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

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

        public static final int DEFAULT_MAX_RECORDS
        Default maximum number of records in the queue.
        See Also:
        Constant Field Values
      • 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 Detail

      • AsyncFileHandler

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

        public AsyncFileHandler​(java.lang.String directory,
                                java.lang.String prefix,
                                java.lang.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​(java.lang.String directory,
                                java.lang.String prefix,
                                java.lang.String suffix,
                                java.lang.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 Detail

      • 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​(java.util.logging.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​(java.util.logging.LogRecord record)
        Publishes a log record to the underlying handler.
        Parameters:
        record - The log record to publish