log4cplus
2.1.0
|
TimeBasedRollingFileAppender extends FileAppenderBase so that the underlying file is rolled over at a user chosen frequency while also keeping in check a total maximum number of produced files. More...
#include <fileappender.h>
Public Member Functions | |
TimeBasedRollingFileAppender (const tstring &filename=LOG4CPLUS_TEXT(""), const tstring &filenamePattern=LOG4CPLUS_TEXT("%d.log"), int maxHistory=10, bool cleanHistoryOnStart=false, bool immediateFlush=true, bool createDirs=false, bool rollOnClose=true) | |
TimeBasedRollingFileAppender (const helpers::Properties &properties) | |
~TimeBasedRollingFileAppender () | |
Public Member Functions inherited from log4cplus::FileAppenderBase | |
virtual std::locale | imbue (std::locale const &loc) |
Redefine default locale for output stream. More... | |
virtual std::locale | getloc () const |
Public Member Functions inherited from log4cplus::Appender | |
Appender () | |
Appender (const log4cplus::helpers::Properties &properties) | |
virtual | ~Appender () |
void | destructorImpl () |
This function is for derived appenders to call from their destructors. More... | |
bool | isClosed () const |
Check if this appender is in closed state. More... | |
void | syncDoAppend (const log4cplus::spi::InternalLoggingEvent &event) |
This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific {} method. More... | |
void | asyncDoAppend (const log4cplus::spi::InternalLoggingEvent &event) |
This method performs book keeping related to asynchronous logging and executes syncDoAppend() to do the actual logging. More... | |
void | doAppend (const log4cplus::spi::InternalLoggingEvent &event) |
This function checks async flag. More... | |
virtual log4cplus::tstring | getName () |
Get the name of this appender. More... | |
virtual void | setName (const log4cplus::tstring &name) |
Set the name of this appender. More... | |
virtual void | setErrorHandler (std::unique_ptr< ErrorHandler > eh) |
Set the ErrorHandler for this Appender. More... | |
virtual ErrorHandler * | getErrorHandler () |
Return the currently set ErrorHandler for this Appender. More... | |
virtual void | setLayout (std::unique_ptr< Layout > layout) |
Set the layout for this appender. More... | |
virtual Layout * | getLayout () |
Returns the layout of this appender. More... | |
void | setFilter (log4cplus::spi::FilterPtr f) |
Set the filter chain on this Appender. More... | |
log4cplus::spi::FilterPtr | getFilter () const |
Get the filter chain on this Appender. More... | |
void | addFilter (log4cplus::spi::FilterPtr f) |
Add filter at the end of the filters chain. More... | |
void | addFilter (std::function< spi::FilterResult(const log4cplus::spi::InternalLoggingEvent &)>) |
Add filter at the end of the filters chain. More... | |
LogLevel | getThreshold () const |
Returns this appenders threshold LogLevel. More... | |
void | setThreshold (LogLevel th) |
Set the threshold LogLevel. More... | |
bool | isAsSevereAsThreshold (LogLevel ll) const |
Check whether the message LogLevel is below the appender's threshold. More... | |
void | waitToFinishAsyncLogging () |
This method waits for all events that are being asynchronously logged to finish. More... | |
Public Member Functions inherited from log4cplus::helpers::SharedObject | |
void | addReference () const LOG4CPLUS_NOEXCEPT |
void | removeReference () const |
Protected Member Functions | |
void | append (const spi::InternalLoggingEvent &event) |
Subclasses of Appender should implement this method to perform actual logging. More... | |
void | open (std::ios_base::openmode mode) |
void | close () |
Release any resources allocated within the appender such as file handles, network connections, etc. More... | |
void | rollover (bool alreadyLocked=false) |
void | clean (helpers::Time time) |
helpers::Time::duration | getRolloverPeriodDuration () const |
helpers::Time | calculateNextRolloverTime (const helpers::Time &t) const |
Protected Member Functions inherited from log4cplus::FileAppenderBase | |
FileAppenderBase (const log4cplus::tstring &filename, std::ios_base::openmode mode=std::ios_base::trunc, bool immediateFlush=true, bool createDirs=false) | |
FileAppenderBase (const log4cplus::helpers::Properties &properties, std::ios_base::openmode mode=std::ios_base::trunc) | |
void | init () |
bool | reopen () |
Protected Member Functions inherited from log4cplus::Appender | |
tstring & | formatEvent (const log4cplus::spi::InternalLoggingEvent &event) const |
Protected Member Functions inherited from log4cplus::helpers::SharedObject | |
SharedObject () | |
SharedObject (const SharedObject &) | |
SharedObject (SharedObject &&) | |
virtual | ~SharedObject () |
SharedObject & | operator= (const SharedObject &) LOG4CPLUS_NOEXCEPT |
SharedObject & | operator= (SharedObject &&) LOG4CPLUS_NOEXCEPT |
Protected Attributes | |
tstring | filenamePattern |
DailyRollingFileSchedule | schedule |
tstring | scheduledFilename |
int | maxHistory |
bool | cleanHistoryOnStart |
log4cplus::helpers::Time | lastHeartBeat |
log4cplus::helpers::Time | nextRolloverTime |
bool | rollOnClose |
Protected Attributes inherited from log4cplus::FileAppenderBase | |
bool | immediateFlush |
Immediate flush means that the underlying writer or output stream will be flushed at the end of each append operation. More... | |
bool | createDirs |
When this variable is true, FileAppender will try to create missing directories in path leading to log file. More... | |
int | reopenDelay |
When any append operation fails, reopenDelay says for how many seconds the next attempt to re-open the log file and resume logging will be delayed. More... | |
unsigned long | bufferSize |
std::unique_ptr< log4cplus::tchar[]> | buffer |
log4cplus::tofstream | out |
log4cplus::tstring | filename |
log4cplus::tstring | localeName |
log4cplus::tstring | lockFileName |
std::ios_base::openmode | fileOpenMode |
log4cplus::helpers::Time | reopen_time |
Protected Attributes inherited from log4cplus::Appender | |
std::unique_ptr< Layout > | layout |
The layout variable does not need to be set if the appender implementation has its own layout. More... | |
log4cplus::tstring | name |
Appenders are named. More... | |
LogLevel | threshold |
There is no LogLevel threshold filtering by default. More... | |
log4cplus::spi::FilterPtr | filter |
The first filter in the filter chain. More... | |
std::unique_ptr< ErrorHandler > | errorHandler |
It is assumed and enforced that errorHandler is never null. More... | |
std::unique_ptr< helpers::LockFile > | lockFile |
Optional system wide synchronization lock. More... | |
bool | useLockFile |
Use lock file for inter-process synchronization of access to log file. More... | |
bool | async |
Asynchronous append. More... | |
std::atomic< std::size_t > | in_flight |
std::mutex | in_flight_mutex |
std::condition_variable | in_flight_condition |
bool | closed |
Is this appender closed? More... | |
Additional Inherited Members | |
Public Attributes inherited from log4cplus::helpers::SharedObject | |
thread::Mutex | access_mutex |
TimeBasedRollingFileAppender extends FileAppenderBase so that the underlying file is rolled over at a user chosen frequency while also keeping in check a total maximum number of produced files.
Properties additional to FileAppenderBase's properties:
FilenamePattern
The mandatory fileNamePattern property defines the name of the rolled-over (archived) log files. Its value should consist of the name of the file, plus a suitably placed d conversion specifier. The d conversion specifier may contain a date-and-time pattern as specified by the java's SimpleDateFormat. The rollover period is inferred from the value of fileNamePattern.
MaxHistory
The optional maxHistory property controls the maximum number of archive files to keep, deleting older files.
CleanHistoryOnStart
If set to true, archive removal will be executed on appender start up. By default this property is set to false.
RollOnClose
This property specifies whether to rollover log files upon shutdown. By default it's set to true
to retain compatibility with legacy code, however it may lead to undesired behaviour as described in the github issue #120.
Definition at line 385 of file fileappender.h.
log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender | ( | const tstring & | filename = LOG4CPLUS_TEXT("") , |
const tstring & | filenamePattern = LOG4CPLUS_TEXT("%d.log") , |
||
int | maxHistory = 10 , |
||
bool | cleanHistoryOnStart = false , |
||
bool | immediateFlush = true , |
||
bool | createDirs = false , |
||
bool | rollOnClose = true |
||
) |
log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender | ( | const helpers::Properties & | properties | ) |
log4cplus::TimeBasedRollingFileAppender::~TimeBasedRollingFileAppender | ( | ) |
|
protectedvirtual |
Subclasses of Appender
should implement this method to perform actual logging.
Reimplemented from log4cplus::FileAppenderBase.
|
protected |
|
protected |
|
protectedvirtual |
Release any resources allocated within the appender such as file handles, network connections, etc.
It is a programming error to append to a closed appender.
Reimplemented from log4cplus::FileAppenderBase.
|
protected |
|
protectedvirtual |
Reimplemented from log4cplus::FileAppenderBase.
|
protected |
|
protected |
Definition at line 414 of file fileappender.h.
|
protected |
Definition at line 410 of file fileappender.h.
|
protected |
Definition at line 415 of file fileappender.h.
|
protected |
Definition at line 413 of file fileappender.h.
|
protected |
Definition at line 416 of file fileappender.h.
|
protected |
Definition at line 417 of file fileappender.h.
|
protected |
Definition at line 411 of file fileappender.h.
|
protected |
Definition at line 412 of file fileappender.h.