OFFIS DCMTK Version 3.6.0

log4cplus::SocketAppender Class Reference

Sends spi::InternalLoggingEvent objects to a remote a log server. More...

Inheritance diagram for log4cplus::SocketAppender:
Collaboration diagram for log4cplus::SocketAppender:

List of all members.

Classes

class  ConnectorThread

Public Member Functions

 SocketAppender (const log4cplus::tstring &host, int port, const log4cplus::tstring &serverName=tstring())
 SocketAppender (const log4cplus::helpers::Properties &properties, log4cplus::tstring &error)
virtual void close ()

Protected Member Functions

void openSocket ()
void initConnector ()
virtual void append (const spi::InternalLoggingEvent &event)

Protected Attributes

log4cplus::helpers::Socket socket
log4cplus::tstring host
int port
log4cplus::tstring serverName
class LOG4CPLUS_EXPORT ConnectorThread
volatile bool connected
helpers::SharedObjectPtr
< ConnectorThread
connector

Private Member Functions

 SocketAppender (const SocketAppender &)
SocketAppenderoperator= (const SocketAppender &)

Friends

class ConnectorThread

Detailed Description

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.

  • On the other hand, if the network link is up, but the server is down, the client will not be blocked when making log requests but the log events will be lost due to server unavailability.

Properties

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 88 of file socketap.h.


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


Generated on Mon Feb 14 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.7.3