|
log4cplus 2.0.8
|
Base class for Appenders writing log events to a file. More...
#include <fileappender.h>
Public Member Functions | |
| 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 ErrorHandler * | getErrorHandler () |
Return the currently set ErrorHandler for this Appender. | |
| virtual void | setLayout (std::unique_ptr< Layout > layout) |
| Set the layout for this appender. | |
| virtual Layout * | getLayout () |
| 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 | |
| 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 | append (const spi::InternalLoggingEvent &event) |
Subclasses of Appender should implement this method to perform actual logging. | |
| virtual void | open (std::ios_base::openmode mode) |
| 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 | |
| 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< Layout > | layout |
| 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< ErrorHandler > | errorHandler |
| It is assumed and enforced that errorHandler is never null. | |
| std::unique_ptr< helpers::LockFile > | lockFile |
| 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 |
Base class for Appenders writing log events to a file.
It is constructed with uninitialized file object, so all classes derived from FileAppenderBase must call init() method.
This property specifies output file name.
When it is set true, output stream will be flushed after each appended event.
When it is set true, output file will be appended to instead of being truncated at opening.
This property sets a delay after which the appender will try to reopen log file again, after last logging failure.
Non-zero value of this property sets up buffering of output stream using a buffer of given size.
lockf()) to provide inter-process file locking. spi::LocaleFactory in spi::LocaleFactoryRegistry. Set this property to true if you want to create missing directories in path leading to log file and lock file.
Definition at line 117 of file fileappender.h.
|
protected |
References createDirs, filename, and immediateFlush.
|
protected |
|
protectedvirtual |
Subclasses of Appender should implement this method to perform actual logging.
Implements log4cplus::Appender.
Reimplemented in log4cplus::DailyRollingFileAppender, log4cplus::RollingFileAppender, and log4cplus::TimeBasedRollingFileAppender.
|
virtual |
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.
Implements log4cplus::Appender.
Reimplemented in log4cplus::DailyRollingFileAppender, and log4cplus::TimeBasedRollingFileAppender.
|
virtual |
|
virtual |
Redefine default locale for output stream. It may be a good idea to provide UTF-8 locale in case UNICODE macro is defined.
|
protected |
|
protectedvirtual |
Reimplemented in log4cplus::TimeBasedRollingFileAppender.
|
protected |
|
protected |
Definition at line 178 of file fileappender.h.
|
protected |
Definition at line 177 of file fileappender.h.
|
protected |
When this variable is true, FileAppender will try to create missing directories in path leading to log file.
The createDirs variable is set to false by default.
Definition at line 166 of file fileappender.h.
Referenced by log4cplus::DailyRollingFileAppender::DailyRollingFileAppender(), log4cplus::FileAppender::FileAppender(), FileAppenderBase(), log4cplus::RollingFileAppender::RollingFileAppender(), and log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender().
|
protected |
Definition at line 181 of file fileappender.h.
Referenced by log4cplus::DailyRollingFileAppender::DailyRollingFileAppender(), log4cplus::FileAppender::FileAppender(), FileAppenderBase(), log4cplus::RollingFileAppender::RollingFileAppender(), and log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender().
|
protected |
Definition at line 184 of file fileappender.h.
|
protected |
Immediate flush means that the underlying writer or output stream will be flushed at the end of each append operation.
Immediate flush is slower but ensures that each append request is actually written. If immediateFlush is set to false, then there is a good chance that the last few logs events are not actually written to persistent media if and when the application crashes.
The immediateFlush variable is set to true by default.
Definition at line 158 of file fileappender.h.
Referenced by log4cplus::DailyRollingFileAppender::DailyRollingFileAppender(), log4cplus::FileAppender::FileAppender(), FileAppenderBase(), log4cplus::RollingFileAppender::RollingFileAppender(), and log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender().
|
protected |
Definition at line 182 of file fileappender.h.
|
protected |
Definition at line 183 of file fileappender.h.
|
protected |
Definition at line 180 of file fileappender.h.
|
protected |
Definition at line 186 of file fileappender.h.
|
protected |
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.
If reopenDelay is zero, each failed append operation will cause log file to be re-opened. By default, reopenDelay is 1 second.
Definition at line 175 of file fileappender.h.