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.
Public Member Functions | |
DailyRollingFileAppender () | |
The default constructor simply calls its parents constructor. | |
DailyRollingFileAppender (const LayoutPtr &layout, const LogString &filename, const LogString &datePattern) | |
Instantiate a DailyRollingFileAppender and open the file designated by filename . | |
void | setDatePattern (const LogString &pattern) |
The DatePattern takes a string in the same format as expected by SimpleDateFormat. | |
LogString | getDatePattern () |
Returns the value of the DatePattern option. | |
void | setOption (const LogString &option, const LogString &value) |
Set option to value . | |
void | activateOptions (log4cxx::helpers::Pool &) |
Prepares DailyRollingFileAppender for use. |
|
The default constructor simply calls its parents constructor.
|
|
Instantiate a DailyRollingFileAppender and open the file designated by The opened filename will become the ouput destination for this appender. |
|
Prepares DailyRollingFileAppender for use.
Reimplemented from RollingFileAppenderSkeleton. |
|
Returns the value of the DatePattern option.
|
|
The DatePattern takes a string in the same format as expected by SimpleDateFormat. This options determines the rollover schedule. |
|
Set The handling of each option depends on the OptionHandler instance. Some options may become active immediately whereas other may be activated only when activateOptions is called. Reimplemented from FileAppender. |