Class 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 - If true, 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. If false, 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 of 0 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 the java.util.logging.Level class for the possible levels. Default value: ALL
    • filter - The java.util.logging.Filter implementation class name for this Handler. Default value: unset
    • formatter - The java.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.
    • 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 by date.
      protected void openWriter()  
      void publish​(java.util.logging.LogRecord record)
      Format and publish a LogRecord.
      • 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

      • 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 a LogRecord.
        Specified by:
        publish in class java.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 class java.util.logging.Handler
      • closeWriter

        protected void closeWriter()
      • flush

        public void flush()
        Flush the writer.
        Specified by:
        flush in class java.util.logging.Handler
      • open

        public void open()
        Open the new log file for the date specified by date.
      • openWriter

        protected void openWriter()