log4cplus
1.1.0
|
Sends spi::InternalLoggingEvent objects to a remote a log server. More...
#include <socketappender.h>
Classes | |
class | ConnectorThread |
Public Member Functions | |
SocketAppender (const log4cplus::tstring &host, unsigned short port, const log4cplus::tstring &serverName=tstring()) | |
SocketAppender (const log4cplus::helpers::Properties &properties) | |
~SocketAppender () | |
virtual void | close () |
Release any resources allocated within the appender such as file handles, network connections, etc. | |
Protected Member Functions | |
void | openSocket () |
void | initConnector () |
virtual void | append (const spi::InternalLoggingEvent &event) |
Subclasses of Appender should implement this method to perform actual logging. | |
Protected Attributes | |
log4cplus::helpers::Socket | socket |
log4cplus::tstring | host |
unsigned int | port |
log4cplus::tstring | serverName |
class LOG4CPLUS_EXPORT | ConnectorThread |
volatile bool | connected |
helpers::SharedObjectPtr < ConnectorThread > | connector |
Friends | |
class | ConnectorThread |
Sends spi::InternalLoggingEvent objects to a remote a log server.
The SocketAppender has the following properties:
Remote logging is non-intrusive as far as the log event is concerned. In other words, the event will be logged with the same time stamp, NDC, location info as if it were logged locally by the client.
SocketAppenders do not use a layout.
Remote logging uses the TCP protocol. Consequently, if the server is reachable, then log events will eventually arrive at the server.
If the remote server is down, the logging requests are simply dropped. However, if and when the server comes back up, then event transmission is resumed transparently. This transparent reconneciton is performed by a connector thread which periodically attempts to connect to the server.
Logging events are automatically buffered by the native TCP implementation. This means that if the link to server is slow but still faster than the rate of (log) event production by the client, the client will not be affected by the slow network connection. However, if the network connection is slower then the rate of event production, then the client can only progress at the network rate. In particular, if the network link to the the server is down, the client will be blocked.
host
Remote host name to connect and send events to.
port
Port on remote host to send events to.
ServerName
Host name of event's origin prepended to each event.
Definition at line 101 of file socketappender.h.
log4cplus::SocketAppender::SocketAppender | ( | const log4cplus::tstring & | host, |
unsigned short | port, | ||
const log4cplus::tstring & | serverName = tstring() |
||
) |
log4cplus::SocketAppender::SocketAppender | ( | const log4cplus::helpers::Properties & | properties | ) |
virtual void log4cplus::SocketAppender::append | ( | const spi::InternalLoggingEvent & | event | ) | [protected, virtual] |
Subclasses of Appender
should implement this method to perform actual logging.
Implements log4cplus::Appender.
virtual void log4cplus::SocketAppender::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.
void log4cplus::SocketAppender::initConnector | ( | ) | [protected] |
void log4cplus::SocketAppender::openSocket | ( | ) | [protected] |
friend class ConnectorThread [friend] |
Definition at line 127 of file socketappender.h.
volatile bool log4cplus::SocketAppender::connected [protected] |
Definition at line 147 of file socketappender.h.
Definition at line 148 of file socketappender.h.
class LOG4CPLUS_EXPORT log4cplus::SocketAppender::ConnectorThread [protected] |
Definition at line 126 of file socketappender.h.
log4cplus::tstring log4cplus::SocketAppender::host [protected] |
Definition at line 121 of file socketappender.h.
unsigned int log4cplus::SocketAppender::port [protected] |
Definition at line 122 of file socketappender.h.
Definition at line 123 of file socketappender.h.
Definition at line 120 of file socketappender.h.