log4cplus_SocketAppender(3)
| log4cplus::SocketAppender(3) | log4cplus | log4cplus::SocketAppender(3) |
NAME
log4cplus::SocketAppender - Sends spi::InternalLoggingEvent objects to a remote a log server.
SYNOPSIS
#include <socketappender.h>
Inherits log4cplus::Appender, and log4cplus::helpers::IConnectorThreadClient.
Public Member Functions
SocketAppender (const log4cplus::tstring
&host, unsigned short port, const
log4cplus::tstring &serverName=tstring(), bool
ipv6=false)
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. virtual const thread::Mutex &
ctcGetAccessMutex () const
virtual helpers::Socket & ctcGetSocket ()
virtual helpers::Socket ctcConnect ()
virtual void ctcSetConnected ()
Sets connected flag to true in ConnectorThread's client.
Protected Attributes
log4cplus::helpers::Socket socket
log4cplus::tstring host
unsigned int port
log4cplus::tstring serverName
bool ipv6 = false
volatile bool connected
helpers::SharedObjectPtr< helpers::ConnectorThread >
connector
Additional Inherited Members
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.
- IPv6
- Boolean value specifying whether to use IPv6 (true) or IPv4 (false). Default value is false.
Definition at line 105 of file socketappender.h.
Constructor & Destructor Documentation
log4cplus::SocketAppender::SocketAppender (const log4cplus::tstring & host, unsigned short port, const log4cplus::tstring & serverName = tstring(), bool ipv6 = false)
log4cplus::SocketAppender::SocketAppender (const log4cplus::helpers::Properties & properties)
log4cplus::SocketAppender::~SocketAppender ()
Member Function Documentation
virtual void log4cplus::SocketAppender::append (const spi::InternalLoggingEvent & event) [protected], [virtual]
Subclasses of Appender should implement this method to perform actual logging.
See also
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.
virtual helpers::Socket log4cplus::SocketAppender::ctcConnect () [protected], [virtual]
Returns
Implements log4cplus::helpers::IConnectorThreadClient.
virtual const thread::Mutex& log4cplus::SocketAppender::ctcGetAccessMutex () const [protected], [virtual]
Returns
Implements log4cplus::helpers::IConnectorThreadClient.
virtual helpers::Socket& log4cplus::SocketAppender::ctcGetSocket () [protected], [virtual]
Returns
Implements log4cplus::helpers::IConnectorThreadClient.
virtual void log4cplus::SocketAppender::ctcSetConnected () [protected], [virtual]
Sets connected flag to true in ConnectorThread's client.
Implements log4cplus::helpers::IConnectorThreadClient.
void log4cplus::SocketAppender::initConnector () [protected]
void log4cplus::SocketAppender::openSocket () [protected]
Member Data Documentation
volatile bool log4cplus::SocketAppender::connected [protected]
Definition at line 142 of file socketappender.h.
helpers::SharedObjectPtr<helpers::ConnectorThread> log4cplus::SocketAppender::connector [protected]
Definition at line 143 of file socketappender.h.
log4cplus::tstring log4cplus::SocketAppender::host [protected]
Definition at line 131 of file socketappender.h.
bool log4cplus::SocketAppender::ipv6 = false [protected]
Definition at line 134 of file socketappender.h.
unsigned int log4cplus::SocketAppender::port [protected]
Definition at line 132 of file socketappender.h.
log4cplus::tstring log4cplus::SocketAppender::serverName [protected]
Definition at line 133 of file socketappender.h.
log4cplus::helpers::Socket log4cplus::SocketAppender::socket [protected]
Definition at line 130 of file socketappender.h.
Author
Generated automatically by Doxygen for log4cplus from the source code.
| Fri Jun 18 2021 | Version 2.0.6 |
