Class SizeRotatingFileHandler

    • Field Detail

      • rotateSize

        private long rotateSize
      • maxBackupIndex

        private int maxBackupIndex
      • rotateOnBoot

        private boolean rotateOnBoot
      • suffix

        private java.lang.String suffix
    • Constructor Detail

      • SizeRotatingFileHandler

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

        public SizeRotatingFileHandler​(java.io.File file)
                                throws java.io.FileNotFoundException
        Construct a new instance with the given output file.
        Parameters:
        file - the file
        Throws:
        java.io.FileNotFoundException - if the file could not be found on open
      • SizeRotatingFileHandler

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

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

        public SizeRotatingFileHandler​(java.lang.String fileName,
                                       boolean append)
                                throws java.io.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:
        java.io.FileNotFoundException - if the file could not be found on open
      • SizeRotatingFileHandler

        public SizeRotatingFileHandler​(long rotateSize,
                                       int maxBackupIndex)
        Construct a new instance with no formatter and no output file.
      • SizeRotatingFileHandler

        public SizeRotatingFileHandler​(java.io.File file,
                                       long rotateSize,
                                       int maxBackupIndex)
                                throws java.io.FileNotFoundException
        Construct a new instance with the given output file.
        Parameters:
        file - the file
        Throws:
        java.io.FileNotFoundException - if the file could not be found on open
      • SizeRotatingFileHandler

        public SizeRotatingFileHandler​(java.io.File file,
                                       boolean append,
                                       long rotateSize,
                                       int maxBackupIndex)
                                throws java.io.FileNotFoundException
        Construct a new instance with the given output file and append setting.
        Parameters:
        file - the file
        append - true to append, false to overwrite
        Throws:
        java.io.FileNotFoundException - if the file could not be found on open
    • Method Detail

      • setOutputStream

        public void setOutputStream​(java.io.OutputStream outputStream)
        Set the output stream to write to.
        Overrides:
        setOutputStream in class OutputStreamHandler
        Parameters:
        outputStream - the new output stream or null for none
      • setFile

        public void setFile​(java.io.File file)
                     throws java.io.FileNotFoundException
        Set the output file.
        Overrides:
        setFile in class FileHandler
        Parameters:
        file - the file
        Throws:
        java.lang.RuntimeException - if there is an attempt to rotate file and the rotation fails
        java.io.FileNotFoundException - if an error occurs opening the file
      • isRotateOnBoot

        public boolean isRotateOnBoot()
        Indicates whether or a not the handler should rotate the file before the first log record is written.
        Returns:
        true if file should rotate on boot, otherwise false/
      • setRotateOnBoot

        public void setRotateOnBoot​(boolean rotateOnBoot)
        Set to a value of true if the file should be rotated before the a new file is set. The rotation only happens if the file names are the same and the file has a length greater than 0.
        Parameters:
        rotateOnBoot - true to rotate on boot, otherwise false
      • setRotateSize

        public void setRotateSize​(long rotateSize)
        Set the rotation size, in bytes.
        Parameters:
        rotateSize - the number of bytes before the log is rotated
      • setMaxBackupIndex

        public void setMaxBackupIndex​(int maxBackupIndex)
        Set the maximum backup index (the number of log files to keep around).
        Parameters:
        maxBackupIndex - the maximum backup index
      • getSuffix

        public java.lang.String getSuffix()
        Returns the suffix set to be appended to files during rotation.
        Returns:
        the suffix or null if no suffix should be used
      • setSuffix

        public void setSuffix​(java.lang.String suffix)
        Sets the suffix to be appended to the file name during the file rotation. The suffix does not play a role in determining when the file should be rotated.

        The suffix must be a string understood by the SimpleDateFormat.

        Note: Any files rotated with the suffix appended will not be deleted. The maxBackupIndex is not used for files with a suffix.

        Parameters:
        suffix - the suffix to place after the filename when the file is rotated
      • 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.
        Overrides:
        preWrite in class WriterHandler
        Parameters:
        record - the record about to be logged
      • rotate

        private void rotate​(java.io.File file)
                     throws java.io.IOException
        Throws:
        java.io.IOException