Class PeriodicRotatingFileHandler

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, FlushableCloseable, Protectable
Direct Known Subclasses:
PeriodicSizeRotatingFileHandler

public class PeriodicRotatingFileHandler extends FileHandler
A file handler which rotates the log at a preset time interval. The interval is determined by the content of the suffix string which is passed in to setSuffix(String).
  • Field Details

  • Constructor Details

    • PeriodicRotatingFileHandler

      public PeriodicRotatingFileHandler()
      Construct a new instance with no formatter and no output file.
    • PeriodicRotatingFileHandler

      public PeriodicRotatingFileHandler(String fileName) throws FileNotFoundException
      Construct a new instance with the given output file.
      Parameters:
      fileName - the file name
      Throws:
      FileNotFoundException - if the file could not be found on open
    • PeriodicRotatingFileHandler

      public PeriodicRotatingFileHandler(String fileName, boolean append) throws FileNotFoundException
      Construct a new instance with the given output file and append setting.
      Parameters:
      fileName - the file name
      append - true to append, false to overwrite
      Throws:
      FileNotFoundException - if the file could not be found on open
    • PeriodicRotatingFileHandler

      public PeriodicRotatingFileHandler(File file, String suffix) throws FileNotFoundException
      Construct a new instance with the given output file.
      Parameters:
      file - the file
      suffix - the format suffix to use
      Throws:
      FileNotFoundException - if the file could not be found on open
    • PeriodicRotatingFileHandler

      public PeriodicRotatingFileHandler(File file, String suffix, boolean append) throws FileNotFoundException
      Construct a new instance with the given output file and append setting.
      Parameters:
      file - the file
      suffix - the format suffix to use
      append - true to append, false to overwrite
      Throws:
      FileNotFoundException - if the file could not be found on open
  • Method Details

    • setFile

      public void setFile(File file) throws FileNotFoundException
      Description copied from class: FileHandler
      Set the output file.
      Overrides:
      setFile in class FileHandler
      Parameters:
      file - the file
      Throws:
      FileNotFoundException - if an error occurs opening the file
    • preWrite

      protected void preWrite(ExtLogRecord record)
      Execute any pre-write policy, such as file rotation. The write lock is held during this method, so make it quick. The default implementation does nothing. This implementation checks to see if the scheduled rollover time has yet occurred.
      Overrides:
      preWrite in class WriterHandler
      Parameters:
      record - the record about to be logged
    • setSuffix

      public void setSuffix(String suffix) throws IllegalArgumentException
      Set the suffix string. The string is in a format which can be understood by SimpleDateFormat. The period of the rotation is automatically calculated based on the suffix.
      Parameters:
      suffix - the suffix
      Throws:
      IllegalArgumentException - if the suffix is not valid
    • getNextSuffix

      protected final String getNextSuffix()
      Returns the suffix to be used.
      Returns:
      the suffix to be used
    • rollOver

      private void rollOver()
    • calcNextRollover

      private void calcNextRollover(long fromTime)
    • getTimeZone

      public TimeZone getTimeZone()
      Get the configured time zone for this handler.
      Returns:
      the configured time zone
    • setTimeZone

      public void setTimeZone(TimeZone timeZone)
      Set the configured time zone for this handler.
      Parameters:
      timeZone - the configured time zone
    • min

      private static <T extends Comparable<? super T>> T min(T a, T b)