log4cplus
2.0.0
|
Appends log events to a file. More...
#include <fileappender.h>
Public Member Functions | |
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 () |
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) |
Redefine default locale for output stream. | |
virtual std::locale | getloc () const |
Protected Member Functions | |
virtual void | append (const spi::InternalLoggingEvent &event) |
Subclasses of Appender should implement this method to perform actual logging. | |
void | open (std::ios_base::openmode mode) |
bool | reopen () |
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::helpers::Time | reopen_time |
Appends log events to a file.
File
This property specifies output file name.
ImmediateFlush
When it is set true, output stream will be flushed after each appended event.
Append
When it is set true, output file will be appended to instead of being truncated at opening.
ReopenDelay
This property sets a delay after which the appender will try to reopen log file again, after last logging failure.
BufferSize
Non-zero value of this property sets up buffering of output stream using a buffer of given size.
UseLockFile
true
if you want your output to go into a log file shared by multiple processes. When this property is set to true then log4cplus uses OS specific facilities (e.g., lockf()
) to provide inter-process file locking. LockFile
File
property by addition of ".lock" suffix. The property is only used when UseLockFile
is set to true. Locale
en_US.UTF-8
, or by one of four recognized keywords: GLOBAL
, DEFAULT
(which is an alias for GLOBAL
), USER
and CLASSIC
. When specified locale is not available, GLOBAL
is used instead. It is possible to register additional locale keywords by registering an instance of spi::LocaleFactory
in spi::LocaleFactoryRegistry
. CreateDirs
true
if you want to create missing directories in path leading to log file and lock file. Definition at line 109 of file fileappender.h.
log4cplus::FileAppender::FileAppender | ( | const log4cplus::tstring & | filename, |
std::ios_base::openmode | mode = std::ios_base::trunc , |
||
bool | immediateFlush = true , |
||
bool | createDirs = false |
||
) |
log4cplus::FileAppender::FileAppender | ( | const log4cplus::helpers::Properties & | properties, |
std::ios_base::openmode | mode = std::ios_base::trunc |
||
) |
virtual log4cplus::FileAppender::~FileAppender | ( | ) | [virtual] |
virtual void log4cplus::FileAppender::append | ( | const spi::InternalLoggingEvent & | event | ) | [protected, virtual] |
Subclasses of Appender
should implement this method to perform actual logging.
Implements log4cplus::Appender.
Reimplemented in log4cplus::DailyRollingFileAppender, and log4cplus::RollingFileAppender.
virtual void log4cplus::FileAppender::close | ( | ) | [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.
virtual std::locale log4cplus::FileAppender::getloc | ( | ) | const [virtual] |
virtual std::locale log4cplus::FileAppender::imbue | ( | std::locale const & | loc | ) | [virtual] |
Redefine default locale for output stream.
It may be a good idea to provide UTF-8 locale in case UNICODE macro is defined.
void log4cplus::FileAppender::open | ( | std::ios_base::openmode | mode | ) | [protected] |
bool log4cplus::FileAppender::reopen | ( | ) | [protected] |
std::unique_ptr<log4cplus::tchar[]> log4cplus::FileAppender::buffer [protected] |
Definition at line 170 of file fileappender.h.
unsigned long log4cplus::FileAppender::bufferSize [protected] |
Definition at line 169 of file fileappender.h.
bool log4cplus::FileAppender::createDirs [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 158 of file fileappender.h.
log4cplus::tstring log4cplus::FileAppender::filename [protected] |
Definition at line 173 of file fileappender.h.
bool log4cplus::FileAppender::immediateFlush [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 150 of file fileappender.h.
Definition at line 174 of file fileappender.h.
log4cplus::tofstream log4cplus::FileAppender::out [protected] |
Definition at line 172 of file fileappender.h.
Definition at line 176 of file fileappender.h.
int log4cplus::FileAppender::reopenDelay [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 167 of file fileappender.h.