Package org.apache.juli
Class FileHandler
- java.lang.Object
-
- java.util.logging.Handler
-
- org.apache.juli.FileHandler
-
- Direct Known Subclasses:
AsyncFileHandler
public class FileHandler extends java.util.logging.Handler
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}/logs
Default value:logs
rotatable
- 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:true
prefix
- The leading part of the log file name. Default value:juli.
suffix
- The trailing part of the log file name. Default value:.log
bufferSize
- Configures buffering. The value of0
uses system default buffering (typically an 8K buffer will be used). A value of<0
forces a writer flush upon each log write. A value>0
uses a BufferedOutputStream with the defined value but note that the system default buffering will also be applied. Default value:-1
encoding
- 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.Level
class for the possible levels. Default value:ALL
filter
- Thejava.util.logging.Filter
implementation class name for this Handler. Default value: unsetformatter
- Thejava.util.logging.Formatter
implementation class name for this Handler. Default value:java.util.logging.SimpleFormatter
maxDays
- The maximum number of days to keep the log files. If the specified value is<=0
then 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 Classes Modifier and Type Class Description protected static class
FileHandler.ThreadFactory
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BUFFER_SIZE
static int
DEFAULT_MAX_DAYS
protected java.util.concurrent.locks.ReadWriteLock
writerLock
Lock used to control access to the writer.
-
Constructor Summary
Constructors Constructor Description FileHandler()
FileHandler(java.lang.String directory, java.lang.String prefix, java.lang.String suffix)
FileHandler(java.lang.String directory, java.lang.String prefix, java.lang.String suffix, java.lang.Integer maxDays)
FileHandler(java.lang.String directory, java.lang.String prefix, java.lang.String suffix, java.lang.Integer maxDays, java.lang.Boolean rotatable, java.lang.Integer bufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the currently open log file (if any).protected void
closeWriter()
void
flush()
Flush the writer.void
open()
Open the new log file for the date specified bydate
.protected void
openWriter()
void
publish(java.util.logging.LogRecord record)
Format and publish aLogRecord
.
-
-
-
Field Detail
-
DEFAULT_MAX_DAYS
public static final int DEFAULT_MAX_DAYS
- See Also:
- Constant Field Values
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE
- See Also:
- Constant Field Values
-
writerLock
protected final java.util.concurrent.locks.ReadWriteLock writerLock
Lock used to control access to the writer.
-
-
Constructor Detail
-
FileHandler
public FileHandler()
-
FileHandler
public FileHandler(java.lang.String directory, java.lang.String prefix, java.lang.String suffix)
-
FileHandler
public FileHandler(java.lang.String directory, java.lang.String prefix, java.lang.String suffix, java.lang.Integer maxDays)
-
FileHandler
public FileHandler(java.lang.String directory, java.lang.String prefix, java.lang.String suffix, java.lang.Integer maxDays, java.lang.Boolean rotatable, java.lang.Integer bufferSize)
-
-
Method Detail
-
publish
public void publish(java.util.logging.LogRecord record)
Format and publish aLogRecord
.- Specified by:
publish
in classjava.util.logging.Handler
- Parameters:
record
- description of the log event
-
close
public void close()
Close the currently open log file (if any).- Specified by:
close
in classjava.util.logging.Handler
-
closeWriter
protected void closeWriter()
-
flush
public void flush()
Flush the writer.- Specified by:
flush
in classjava.util.logging.Handler
-
open
public void open()
Open the new log file for the date specified bydate
.
-
openWriter
protected void openWriter()
-
-