Class FileHandler
java.lang.Object
java.util.logging.Handler
org.apache.juli.FileHandler
- Direct Known Subclasses:
AsyncFileHandler
Implementation of Handler that appends log messages to a file named {prefix}{date}{suffix} in a configured
directory.
The following configuration properties are available:
directory- The directory where to create the log file. If the path is not absolute, it is relative to the current working directory of the application. The Apache Tomcat configuration files usually specify an absolute path for this property,${catalina.base}/logsDefault value:logsrotatable- Iftrue, the log file will be rotated on the first write past midnight and the filename will be{prefix}{date}{suffix}, where date is yyyy-MM-dd. Iffalse, the file will not be rotated and the filename will be{prefix}{suffix}. Default value:trueprefix- The leading part of the log file name. Default value:juli.suffix- The trailing part of the log file name. Default value:.logbufferSize- Configures buffering. The value of0uses system default buffering (typically an 8K buffer will be used). A value of<0forces a writer flush upon each log write. A value>0uses a BufferedOutputStream with the defined value but note that the system default buffering will also be applied. Default value:-1encoding- Character set used by the log file. Default value: empty string, which means to use the system default character set.level- The level threshold for this Handler. See thejava.util.logging.Levelclass for the possible levels. Default value:ALLfilter- Thejava.util.logging.Filterimplementation class name for this Handler. Default value: unsetformatter- Thejava.util.logging.Formatterimplementation class name for this Handler. Default value:org.apache.juli.OneLineFormattermaxDays- The maximum number of days to keep the log files. If the specified value is<=0then the log files will be kept on the file system forever, otherwise they will be kept the specified maximum days. Default value:-1.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final classThread factory for creating log file cleanup threads. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDefault value for the log buffer size.static final intDefault value for the maximum number of days to keep log files.protected final ReadWriteLockLock used to control access to the writer. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.FileHandler(String directory, String prefix, String suffix) Constructor with directory, prefix, and suffix.FileHandler(String directory, String prefix, String suffix, Integer maxDays) Constructor with directory, prefix, suffix, and maxDays.FileHandler(String directory, String prefix, String suffix, Integer maxDays, Boolean rotatable, Integer bufferSize) Constructor with all configuration options. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the currently open log file (if any).protected voidClose the currently open log file writer.voidflush()Flush the writer.voidopen()Open the new log file for the date specified bydate.protected voidOpen the writer for the current log file.voidFormat and publish aLogRecord.Methods inherited from class Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevel
-
Field Details
-
DEFAULT_MAX_DAYS
public static final int DEFAULT_MAX_DAYSDefault value for the maximum number of days to keep log files. A value of -1 means unlimited.- See Also:
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZEDefault value for the log buffer size. A value of -1 forces a flush on each write.- See Also:
-
writerLock
Lock used to control access to the writer.
-
-
Constructor Details
-
FileHandler
public FileHandler()Default constructor. Uses LogManager properties for all configuration. -
FileHandler
-
FileHandler
Constructor with directory, prefix, suffix, and maxDays.- Parameters:
directory- The directory where log files are createdprefix- The leading part of the log file namesuffix- The trailing part of the log file namemaxDays- The maximum number of days to keep log files
-
FileHandler
public FileHandler(String directory, String prefix, String suffix, Integer maxDays, Boolean rotatable, Integer bufferSize) Constructor with all configuration options.- Parameters:
directory- The directory where log files are createdprefix- The leading part of the log file namesuffix- The trailing part of the log file namemaxDays- The maximum number of days to keep log filesrotatable- Whether the log file is rotatablebufferSize- The log buffer size
-
-
Method Details
-
publish
-
close
-
closeWriter
protected void closeWriter()Close the currently open log file writer. -
flush
-
open
public void open()Open the new log file for the date specified bydate. -
openWriter
protected void openWriter()Open the writer for the current log file.
-