Kea 2.7.6
|
Buffering Logger Appender. More...
#include <buffer_appender_impl.h>
Public Member Functions | |
BufferAppender () | |
Constructor. | |
virtual | ~BufferAppender () |
Destructor. | |
virtual void | close () |
Close the appender. | |
void | flush () |
Flush the internal buffer. | |
size_t | getBufferSize () const |
Returns the number of stored logging events. | |
Protected Member Functions | |
virtual void | append (const log4cplus::spi::InternalLoggingEvent &event) |
Buffering Logger Appender.
This class can be set as an Appender for log4cplus loggers, and is used to store logging events; it simply keeps any event that is passed to append()
, and will replay them to the logger that they were originally created for when flush()
is called.
The idea is that initially, a program may want to do some logging, but does not know where to yet (for instance because it has yet to read and parse its configuration). Any log messages before this time would normally go to some default (say, stdout), and be lost in the real logging destination. By buffering them (and flushing them once the logger has been configured), these log messages are kept in a consistent place, and are not lost.
Given this goal, this class has an extra check; it will raise an exception if append()
is called after flush().
If the BufferAppender instance is destroyed before being flushed, it will dump any event it has left to stdout.
Definition at line 65 of file buffer_appender_impl.h.
|
inline |
Constructor.
Constructs a BufferAppender that buffers log evens
Definition at line 70 of file buffer_appender_impl.h.
|
virtual |
Destructor.
Any remaining events are flushed to stdout (there should only be any events remaining if flush() was never called)
Definition at line 20 of file buffer_appender_impl.cc.
|
protectedvirtual |
Definition at line 73 of file buffer_appender_impl.cc.
References isc_throw.
|
inlinevirtual |
Close the appender.
This class has no specialized handling for this method
Definition at line 81 of file buffer_appender_impl.h.
void isc::log::internal::BufferAppender::flush | ( | ) |
Flush the internal buffer.
Events that have been stored (after calls to append()
are replayed to the logger. Should only be called after new appenders have been set to the logger.
Definition at line 53 of file buffer_appender_impl.cc.
size_t isc::log::internal::BufferAppender::getBufferSize | ( | ) | const |
Returns the number of stored logging events.
Mainly useful for testing
Definition at line 68 of file buffer_appender_impl.cc.