public class DailyRollingFileHandler extends FileHandler
FileHandler so that the underlying
file is rolled over at a user chosen frequency.
The rolling schedule is specified by the DatePattern option. This
pattern should follow the SimpleDateFormat conventions. In
particular, you must escape literal text within a pair of single
quotes. A formatted version of the date pattern is used as the suffix for
the rolled file name.
For example, if the File option is set to
/foo/bar.log and the DatePattern set to
'.'yyyy-MM-dd, on 2001-02-16 at midnight, the logging file
/foo/bar.log will be copied to /foo/bar.log.2001-02-16
and logging for 2001-02-17 will continue in /foo/bar.log until
it rolls over the next day.
Is is possible to specify monthly, weekly, half-daily, daily, hourly, or minutely rollover schedules.
| DatePattern | Rollover schedule | Example |
|---|---|---|
'.'yyyy-MM | Rollover at the beginning of each month | At midnight of May 31st, 2002 /foo/bar.log will be copied
to /foo/bar.log.2002-05. Logging for the month of June will be
output to /foo/bar.log until it is also rolled over the next
month.
|
'.'yyyy-ww
| Rollover at the first day of each week. The first day of the week depends on the locale. | Assuming the first day of the week is Sunday, on Saturday midnight,
June 9th 2002, the file /foo/bar.log will be copied to
/foo/bar.log.2002-23. Logging for the 24th week of 2002 will be
output to /foo/bar.log until it is rolled over the next week.
|
'.'yyyy-MM-dd
| Rollover at midnight each day. | At midnight, on March 8th, 2002, /foo/bar.log will be
copied to /foo/bar.log.2002-03-08. Logging for the 9th day of
March will be output to /foo/bar.log until it is rolled over
the next day.
|
'.'yyyy-MM-dd-a
| Rollover at midnight and midday of each day. | At noon, on March 9th, 2002, /foo/bar.log will be copied
to /foo/bar.log.2002-03-09-AM. Logging for the afternoon of
the 9th will be output to /foo/bar.log until it is rolled over
at midnight.
|
'.'yyyy-MM-dd-HH
| Rollover at the top of every hour. | At approximately 11:00.000 o'clock on March 9th, 2002,
/foo/bar.log will be copied to /foo/bar.log.2002-03-09-10.
Logging for the 11th hour of the 9th of March will be output to
/foo/bar.log until it is rolled over at the beginning of the
next hour.
|
'.'yyyy-MM-dd-HH-mm
| Rollover at the beginning of every minute. | At approximately 11:23,000, on March 9th, 2001,
/foo/bar.log will be copied to /foo/bar.log.2001-03-09-10-22.
Logging for the minute of 11:23 (9th of March) will be output to
/foo/bar.log until it is rolled over the next minute.
|
Do not use the colon ":" character in anywhere in the DatePattern option. The text before the colon is interpeted as the protocol specificaion of a URL which is probably not what you want.
fileAppend, fileNamebufferedIO, bufferSize, immediateFlushname| Constructor and Description |
|---|
DailyRollingFileHandler()
Instantiate a file handler using configuration in logging configuration
file.
|
DailyRollingFileHandler(Formatter layout,
String fileName,
boolean bufferedIO,
int bufferSize,
String datePattern,
String name) |
DailyRollingFileHandler(Formatter layout,
String filename,
String datePattern,
String name)
Instantiate a
DailyRollingFileHandler and open the file
designated by filename. |
| Modifier and Type | Method and Description |
|---|---|
void |
activateOptions()
If the value of File is not
null, then FileHandler.setFile(String) is called with the values of File and
Append properties. |
String |
getDatePattern()
Returns the value of the DatePattern option.
|
void |
setDatePattern(String pattern)
The DatePattern takes a string in the same format as expected by
SimpleDateFormat. |
protected void |
subPublish(LogRecord event)
This method differentiates DailyRollingFileAppender from its super class.
|
getAppend, getFile, setAppend, setFile, setFilecheckEntryConditions, close, flush, getBufferSize, getImmediateFlush, isBufferedIO, publish, setBufferedIO, setBufferSize, setEncoding, setImmediateFlush, setOutputStreamdebug, getName, setNamegetEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setErrorManager, setFilter, setFormatter, setLevelpublic DailyRollingFileHandler()
throws IOException
java.util.logging.config.file
The following logger properties are supported (and required except the
ones with default values).
IOException - If errors are encountered while setting up the loggerpublic DailyRollingFileHandler(Formatter layout, String filename, String datePattern, String name) throws IOException
DailyRollingFileHandler and open the file
designated by filename. The opened filename will become the
ouput destination for this appender.layout - The formatter to use for the log recordsfilename - The base name of the log filedatePattern - The date pattern to use for rolled over filesname - The name of the logger.IOException - If errors are encountered while initialising the logging systempublic DailyRollingFileHandler(Formatter layout, String fileName, boolean bufferedIO, int bufferSize, String datePattern, String name) throws IOException
IOExceptionpublic void setDatePattern(String pattern)
SimpleDateFormat. This options determines the rollover schedule.pattern - pattern The date pattern to use.public String getDatePattern()
public void activateOptions()
FileHandlernull, then FileHandler.setFile(String) is called with the values of File and
Append properties.activateOptions in class FileHandlerprotected void subPublish(LogRecord event)
subPublish in class WriterHandlerevent - The log record to write.