org.mortbay.util
Class RolloverFileOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by org.mortbay.util.RolloverFileOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class RolloverFileOutputStream
extends FilterOutputStream

RolloverFileOutputStream This output stream puts content in a file that is rolled over every 24 hours. The filename must include the string "yyyy_mm_dd", which is replaced with the actual date when creating and rolling over the file. Old files are retained for a number of days before being deleted.

Author:
Greg Wilkins

Field Summary
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
RolloverFileOutputStream(String filename)
           
RolloverFileOutputStream(String filename, boolean append)
           
RolloverFileOutputStream(String filename, boolean append, int retainDays)
           
RolloverFileOutputStream(String filename, boolean append, int retainDays, TimeZone zone)
           
RolloverFileOutputStream(String filename, boolean append, int retainDays, TimeZone zone, String dateFormat, String backupFormat)
           
 
Method Summary
 void close()
           
 String getDatedFilename()
           
 String getFilename()
           
 int getRetainDays()
           
 void write(byte[] buf)
           
 void write(byte[] buf, int off, int len)
           
 
Methods inherited from class java.io.FilterOutputStream
flush, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RolloverFileOutputStream

public RolloverFileOutputStream(String filename)
                         throws IOException
Parameters:
filename - The filename must include the string "yyyy_mm_dd", which is replaced with the actual date when creating and rolling over the file.
Throws:
IOException

RolloverFileOutputStream

public RolloverFileOutputStream(String filename,
                                boolean append)
                         throws IOException
Parameters:
filename - The filename must include the string "yyyy_mm_dd", which is replaced with the actual date when creating and rolling over the file.
append - If true, existing files will be appended to.
Throws:
IOException

RolloverFileOutputStream

public RolloverFileOutputStream(String filename,
                                boolean append,
                                int retainDays)
                         throws IOException
Parameters:
filename - The filename must include the string "yyyy_mm_dd", which is replaced with the actual date when creating and rolling over the file.
append - If true, existing files will be appended to.
retainDays - The number of days to retain files before deleting them. 0 to retain forever.
Throws:
IOException

RolloverFileOutputStream

public RolloverFileOutputStream(String filename,
                                boolean append,
                                int retainDays,
                                TimeZone zone)
                         throws IOException
Parameters:
filename - The filename must include the string "yyyy_mm_dd", which is replaced with the actual date when creating and rolling over the file.
append - If true, existing files will be appended to.
retainDays - The number of days to retain files before deleting them. 0 to retain forever.
Throws:
IOException

RolloverFileOutputStream

public RolloverFileOutputStream(String filename,
                                boolean append,
                                int retainDays,
                                TimeZone zone,
                                String dateFormat,
                                String backupFormat)
                         throws IOException
Parameters:
filename - The filename must include the string "yyyy_mm_dd", which is replaced with the actual date when creating and rolling over the file.
append - If true, existing files will be appended to.
retainDays - The number of days to retain files before deleting them. 0 to retain forever.
dateFormat - The format for the date file substitution. If null the system property ROLLOVERFILE_DATE_FORMAT is used and if that is null, then default is "yyyy_MM_dd".
backupFormat - The format for the file extension of backup files. If null the system property ROLLOVERFILE_BACKUP_FORMAT is used and if that is null, then default is "HHmmssSSS".
Throws:
IOException
Method Detail

getFilename

public String getFilename()

getDatedFilename

public String getDatedFilename()

getRetainDays

public int getRetainDays()

write

public void write(byte[] buf)
           throws IOException
Overrides:
write in class FilterOutputStream
Throws:
IOException

write

public void write(byte[] buf,
                  int off,
                  int len)
           throws IOException
Overrides:
write in class FilterOutputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class FilterOutputStream
Throws:
IOException