DailyRollingFileAppender Class Reference

DailyRollingFileAppender extends FileAppender so that the underlying file is rolled over at a user chosen frequency. More...

Inherits RollingFileAppenderSkeleton.

## Public Member Functions

| DailyRollingFileAppender ()
| The default constructor simply calls its parents constructor. More...
| DailyRollingFileAppender (const LayoutPtr &layout, const LogString &filename, const LogString &datePattern)
| Instantiate a DailyRollingFileAppender and open the file designated by `filename`. More...
void | setDatePattern (const LogString &pattern)
| The DatePattern takes a string in the same format as expected by SimpleDateFormat. More...
LogString | getDatePattern ()
| Returns the value of the DatePattern option. More...
void | setOption (const LogString &option, const LogString &value)
| Set `option` to `value`. More...
void | activateOptions (log4cxx::helpers::Pool &)
| Prepares DailyRollingFileAppender for use. More...
Public Member Functions inherited from RollingFileAppenderSkeleton
| RollingFileAppenderSkeleton ()
| The default constructor simply calls its parents constructor. More...
void | activateOptions (log4cxx::helpers::Pool &)
bool | rollover (log4cxx::helpers::Pool &p)
| Implements the usual roll over behaviour. More...
void | close ()
| Close appender. More...
size_t | getFileLength () const
| Get byte length of current active log file. More...
void | incrementFileLength (size_t increment)
| Increments estimated byte length of current active log file. More...
Public Member Functions inherited from FileAppender
| FileAppender ()
| The default constructor does not do anything. More...
| FileAppender (const LayoutPtr &layout, const LogString &filename, bool append, bool bufferedIO, int bufferSize)
| Instantiate a `FileAppender` and open the file designated by `filename`. More...
| FileAppender (const LayoutPtr &layout, const LogString &filename, bool append)
| Instantiate a FileAppender and open the file designated by `filename`. More...
| FileAppender (const LayoutPtr &layout, const LogString &filename)
| Instantiate a FileAppender and open the file designated by `filename`. More...
| ~FileAppender ()
virtual void | setFile (const LogString &file)
| The File property takes a string value which should be the name of the file to append to. More...
virtual void | setFile (const LogString &file, bool append, bool bufferedIO, size_t bufferSize, log4cxx::helpers::Pool &p)
| Sets and opens the file where the log output will go. More...
bool | getAppend () const
| Returns the value of the Append option. More...
LogString | getFile () const
| Returns the value of the File option. More...
void | setOption (const LogString &option, const LogString &value)
| Set `option` to `value`. More...
bool | getBufferedIO () const
| Get the value of the BufferedIO option. More...
int | getBufferSize () const
| Get the size of the IO buffer. More...
void | setAppend (bool fileAppend1)
| The Append option takes a boolean value. More...
void | setBufferedIO (bool bufferedIO)
| The BufferedIO option takes a boolean value. More...
void | setBufferSize (int bufferSize1)
| Set the size of the IO buffer. More...
Public Member Functions inherited from WriterAppender
| WriterAppender ()
| This default constructor does nothing. More...
| ~WriterAppender ()
void | setImmediateFlush (bool value)
| If the ImmediateFlush option is set to `true`, the appender will flush at the end of each write. More...
bool | getImmediateFlush () const
| Returns value of the ImmediateFlush option. More...
virtual void | append (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p)
| This method is called by the AppenderSkeleton::doAppend method. More...
LogString | getEncoding () const
void | setEncoding (const LogString &value)
void | setOption (const LogString &option, const LogString &value)
| Set `option` to `value`. More...
void | setWriter (const log4cxx::helpers::WriterPtr &writer)
virtual bool | requiresLayout () const
| Configurators call this method to determine if the appender requires a layout. More...
Public Member Functions inherited from AppenderSkeleton
| AppenderSkeleton ()
| AppenderSkeleton (const LayoutPtr &layout)
void | addRef () const
void | releaseRef () const
void | finalize ()
| Finalize this appender by calling the derived class' `close` method. More...
void | addFilter (const spi::FilterPtr &newFilter)
| Add a filter to end of the filter list. More...
void | clearFilters ()
| Clear the filters chain. More...
const spi::ErrorHandlerPtr & | getErrorHandler () const
| Return the currently set spi::ErrorHandler for this Appender. More...
spi::FilterPtr | getFilter () const
| Returns the head Filter. More...
const spi::FilterPtr & | getFirstFilter () const
| Return the first filter in the filter chain for this Appender. More...
LayoutPtr | getLayout () const
| Returns the layout of this appender. More...
LogString | getName () const
| Returns the name of this Appender. More...
const LevelPtr & | getThreshold ()
| Returns this appenders threshold level. More...
bool | isAsSevereAsThreshold (const LevelPtr &level) const
| Check whether the message level is below the appender's threshold. More...
void | doAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool)
| This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific AppenderSkeleton::append method. More...
void | setErrorHandler (const spi::ErrorHandlerPtr &eh)
| Set the ErrorHandler for this Appender. More...
void | setLayout (const LayoutPtr &layout1)
| Set the layout for this appender. More...
void | setName (const LogString &name1)
| Set the name of this Appender. More...
void | setThreshold (const LevelPtr &threshold)
| Set the threshold level. More...
Public Member Functions inherited from Appender
virtual | ~Appender ()
Public Member Functions inherited from OptionHandler
virtual | ~OptionHandler ()
Public Member Functions inherited from Object
virtual const helpers::Class & | getClass () const
virtual | ~Object ()
virtual bool | instanceof (const Class &clazz) const =0
virtual const void * | cast (const Class &clazz) const =0
Public Member Functions inherited from ObjectImpl
| ObjectImpl ()
virtual | ~ObjectImpl ()
void | addRef () const
void | releaseRef () const

## Additional Inherited Members

Static Public Member Functions inherited from FileAppender
static LogString | stripDuplicateBackslashes (const LogString &name)
| Replaces double backslashes with single backslashes for compatibility with paths from earlier XML configurations files. More...
Protected Member Functions inherited from RollingFileAppenderSkeleton
virtual void | subAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p)
| Actual writing occurs here. More...
RollingPolicyPtr | getRollingPolicy () const
TriggeringPolicyPtr | getTriggeringPolicy () const
void | setRollingPolicy (const RollingPolicyPtr &policy)
| Sets the rolling policy. More...
void | setTriggeringPolicy (const TriggeringPolicyPtr &policy)
log4cxx::helpers::WriterPtr | createWriter (log4cxx::helpers::OutputStreamPtr &os)
| Returns an OutputStreamWriter when passed an OutputStream. More...
Protected Attributes inherited from FileAppender
bool | fileAppend

    Append to or truncate the file? The default value for this

variable is `true`, meaning that by default a `FileAppender` will append to an existing file and not truncate it. More...

LogString | fileName
| The name of the log file. More...
bool | bufferedIO
| Do we do bufferedIO? More...
int | bufferSize
| How big should the IO buffer be? Default is 8K. More...

## Detailed Description

DailyRollingFileAppender extends FileAppender 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.

## Constructor & Destructor Documentation

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`.

The opened filename will become the ouput destination for this appender.

## Member Function Documentation

void activateOptions | ( | log4cxx::helpers::Pool & |  | ) |

virtual

Prepares DailyRollingFileAppender for use.

Reimplemented from WriterAppender.

LogString getDatePattern | ( |  | ) |

Returns the value of the DatePattern option.

void setDatePattern | ( | const LogString & | pattern | ) |

The DatePattern takes a string in the same format as expected by SimpleDateFormat.

This options determines the rollover schedule.

void setOption | ( | const LogString & | option,
|  | const LogString & | value
| ) |  |

virtual

Set `option` to `value`.

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 AppenderSkeleton.

The documentation for this class was generated from the following file:

- dailyrollingfileappender.h