Package org.apache.juli
Class AsyncFileHandler
- java.lang.Object
-
- java.util.logging.Handler
-
- org.apache.juli.FileHandler
-
- org.apache.juli.AsyncFileHandler
-
public class AsyncFileHandler extends FileHandler
AFileHandlerimplementation that uses a queue of log entries.Configuration properties are inherited from the
FileHandlerclass. This class does not add its own configuration properties for the logging configuration, but relies on the following system properties instead:org.apache.juli.AsyncOverflowDropTypeDefault value:1org.apache.juli.AsyncMaxRecordCountDefault 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 booleanclosedIndicates whether this handler has been closed.static intDEFAULT_MAX_RECORDSDefault maximum number of records in the queue.static intDEFAULT_OVERFLOW_DROP_TYPEDefault overflow drop type value.static intMAX_RECORDSConfigured maximum record count from system property.static intOVERFLOW_DROP_CURRENTOverflow policy: drop the current record.static intOVERFLOW_DROP_FIRSTOverflow policy: drop the first (oldest) record in the queue.static intOVERFLOW_DROP_FLUSHOverflow policy: flush the queue and retry.static intOVERFLOW_DROP_LASTOverflow policy: drop the last record in the queue.static intOVERFLOW_DROP_TYPEConfigured overflow drop type from system property.-
Fields inherited from class org.apache.juli.FileHandler
DEFAULT_BUFFER_SIZE, DEFAULT_MAX_DAYS, writerLock
-
-
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 voidclose()Close the currently open log file (if any).voidopen()Open the new log file for the date specified bydate.voidpublish(java.util.logging.LogRecord record)Format and publish aLogRecord.protected voidpublishInternal(java.util.logging.LogRecord record)Publishes a log record to the underlying handler.-
Methods inherited from class org.apache.juli.FileHandler
closeWriter, flush, openWriter
-
-
-
-
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 filesprefix- The log file name prefixsuffix- 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 filesprefix- The log file name prefixsuffix- The log file name suffixmaxDays- Maximum number of days to keep log files
-
-
Method Detail
-
close
public void close()
Description copied from class:FileHandlerClose the currently open log file (if any).- Overrides:
closein classFileHandler
-
open
public void open()
Description copied from class:FileHandlerOpen the new log file for the date specified bydate.- Overrides:
openin classFileHandler
-
publish
public void publish(java.util.logging.LogRecord record)
Description copied from class:FileHandlerFormat and publish aLogRecord.- Overrides:
publishin classFileHandler- 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
-
-