log4cplus 2.0.8
log4cplus::RollingFileAppender Class Reference

RollingFileAppender extends FileAppender to backup the log files when they reach a certain size. More...

#include <fileappender.h>

Inheritance diagram for log4cplus::RollingFileAppender:
[legend]
Collaboration diagram for log4cplus::RollingFileAppender:
[legend]

Public Member Functions

 RollingFileAppender (const log4cplus::tstring &filename, long maxFileSize=10 *1024 *1024, int maxBackupIndex=1, bool immediateFlush=true, bool createDirs=false)
 RollingFileAppender (const log4cplus::helpers::Properties &properties)
virtual ~RollingFileAppender ()
Public Member Functions inherited from log4cplus::FileAppender
 FileAppender (const log4cplus::tstring &filename, std::ios_base::openmode mode=std::ios_base::trunc, bool immediateFlush=true, bool createDirs=false)
 FileAppender (const log4cplus::helpers::Properties &properties, std::ios_base::openmode mode=std::ios_base::trunc)
virtual ~FileAppender ()
Public Member Functions inherited from log4cplus::FileAppenderBase
virtual void close ()
 Release any resources allocated within the appender such as file handles, network connections, etc.
virtual std::locale imbue (std::locale const &loc)
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.
bool isClosed () const
 Check if this appender is in closed state.
void syncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
 This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific append method.
void asyncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
 This method performs book keeping related to asynchronous logging and executes syncDoAppend() to do the actual logging.
void doAppend (const log4cplus::spi::InternalLoggingEvent &event)
 This function checks async flag.
virtual log4cplus::tstring getName ()
 Get the name of this appender.
virtual void setName (const log4cplus::tstring &name)
 Set the name of this appender.
virtual void setErrorHandler (std::unique_ptr< ErrorHandler > eh)
 Set the ErrorHandler for this Appender.
virtual ErrorHandlergetErrorHandler ()
 Return the currently set ErrorHandler for this Appender.
virtual void setLayout (std::unique_ptr< Layout > layout)
 Set the layout for this appender.
virtual LayoutgetLayout ()
 Returns the layout of this appender.
void setFilter (log4cplus::spi::FilterPtr f)
 Set the filter chain on this Appender.
log4cplus::spi::FilterPtr getFilter () const
 Get the filter chain on this Appender.
void addFilter (log4cplus::spi::FilterPtr f)
 Add filter at the end of the filters chain.
void addFilter (std::function< spi::FilterResult(const log4cplus::spi::InternalLoggingEvent &)>)
 Add filter at the end of the filters chain.
LogLevel getThreshold () const
 Returns this appenders threshold LogLevel.
void setThreshold (LogLevel th)
 Set the threshold LogLevel.
bool isAsSevereAsThreshold (LogLevel ll) const
 Check whether the message LogLevel is below the appender's threshold.
void waitToFinishAsyncLogging ()
 This method waits for all events that are being asynchronously logged to finish.
Public Member Functions inherited from log4cplus::helpers::SharedObject
void addReference () const LOG4CPLUS_NOEXCEPT
void removeReference () const

Protected Member Functions

virtual void append (const spi::InternalLoggingEvent &event)
 Subclasses of Appender should implement this method to perform actual logging.
void rollover (bool alreadyLocked=false)
Protected Member Functions inherited from log4cplus::FileAppender
void init ()
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 ()
virtual void open (std::ios_base::openmode mode)
bool reopen ()
Protected Member Functions inherited from log4cplus::Appender
tstringformatEvent (const log4cplus::spi::InternalLoggingEvent &event) const
Protected Member Functions inherited from log4cplus::helpers::SharedObject
 SharedObject ()
 SharedObject (const SharedObject &)
 SharedObject (SharedObject &&)
virtual ~SharedObject ()
SharedObjectoperator= (const SharedObject &) LOG4CPLUS_NOEXCEPT
SharedObjectoperator= (SharedObject &&) LOG4CPLUS_NOEXCEPT

Protected Attributes

long maxFileSize
int maxBackupIndex
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.
bool createDirs
 When this variable is true, FileAppender will try to create missing directories in path leading to log file.
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.
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< Layoutlayout
 The layout variable does not need to be set if the appender implementation has its own layout.
log4cplus::tstring name
 Appenders are named.
LogLevel threshold
 There is no LogLevel threshold filtering by default.
log4cplus::spi::FilterPtr filter
 The first filter in the filter chain.
std::unique_ptr< ErrorHandlererrorHandler
 It is assumed and enforced that errorHandler is never null.
std::unique_ptr< helpers::LockFilelockFile
 Optional system wide synchronization lock.
bool useLockFile
bool async
 Asynchronous append.
std::atomic< std::size_t > in_flight
std::mutex in_flight_mutex
std::condition_variable in_flight_condition
bool closed
 Is this appender closed?

Additional Inherited Members

Public Attributes inherited from log4cplus::helpers::SharedObject
thread::Mutex access_mutex

Detailed Description

RollingFileAppender extends FileAppender to backup the log files when they reach a certain size.

Properties

Properties additional to FileAppender's properties:

MaxFileSize

This property specifies maximal size of output file. The value is in bytes. It is possible to use MB and KB suffixes to specify the value in megabytes or kilobytes instead.

MaxBackupIndex
This property limits the number of backup output files; e.g. how many log.1, log.2 etc. files will be kept.

Definition at line 242 of file fileappender.h.

Constructor & Destructor Documentation

◆ RollingFileAppender() [1/2]

log4cplus::RollingFileAppender::RollingFileAppender ( const log4cplus::tstring & filename,
long maxFileSize = 10 *1024 *1024,
int maxBackupIndex = 1,
bool immediateFlush = true,
bool createDirs = false )

◆ RollingFileAppender() [2/2]

log4cplus::RollingFileAppender::RollingFileAppender ( const log4cplus::helpers::Properties & properties)

◆ ~RollingFileAppender()

virtual log4cplus::RollingFileAppender::~RollingFileAppender ( )
virtual

Member Function Documentation

◆ append()

virtual void log4cplus::RollingFileAppender::append ( const spi::InternalLoggingEvent & event)
protectedvirtual

Subclasses of Appender should implement this method to perform actual logging.

See also
doAppend method.

Reimplemented from log4cplus::FileAppenderBase.

◆ rollover()

void log4cplus::RollingFileAppender::rollover ( bool alreadyLocked = false)
protected

Member Data Documentation

◆ maxBackupIndex

int log4cplus::RollingFileAppender::maxBackupIndex
protected

Definition at line 261 of file fileappender.h.

Referenced by RollingFileAppender().

◆ maxFileSize

long log4cplus::RollingFileAppender::maxFileSize
protected

Definition at line 260 of file fileappender.h.

Referenced by RollingFileAppender().


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