Loading...
Searching...
No Matches
dcmtk::log4cplus::SocketAppender Class Reference

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

Inheritance diagram for dcmtk::log4cplus::SocketAppender:

## Classes

class | ConnectorThread

## Additional Inherited Members

Public Member Functions inherited from dcmtk::log4cplus::Appender
void | doAppend (const log4cplus::spi::InternalLoggingEvent &event)
| This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific `append` method.
virtual log4cplus::tstring | getName ()
| Get the name of this appender.
virtual void | setName (const log4cplus::tstring &name)
| Set the name of this appender.
virtual void | setErrorHandler (OFunique_ptr< ErrorHandler > eh)
| Set the `ErrorHandler` for this Appender.
virtual ErrorHandler * | getErrorHandler ()
| Return the currently set `ErrorHandler` for this Appender.
virtual void | setLayout (OFunique_ptr< Layout > layout)
| Set the layout for this appender.
virtual Layout * | getLayout ()
| Returns the layout of this appender.
void | setFilter (log4cplus::spi::FilterPtr f)
| Set the filter chain on this Appender.
log4cplus::spi::FilterPtr | getFilter () const
| Get the filter chain on this Appender.
LogLevel | getThreshold () const
| Returns this appenders threshold LogLevel.
void | setThreshold (LogLevel th)
| Set the threshold LogLevel.
bool | isAsSevereAsThreshold (LogLevel ll) const
| Check whether the message LogLevel is below the appender's threshold.
Protected Attributes inherited from dcmtk::log4cplus::Appender
OFunique_ptr< Layout > | layout
| The layout variable does not need to be set if the appender implementation has its own layout.
log4cplus::tstring | name
| Appenders are named.
LogLevel | threshold
| There is no LogLevel threshold filtering by default.
log4cplus::spi::FilterPtr | filter
| The first filter in the filter chain.
OFunique_ptr< ErrorHandler > | errorHandler
| It is assumed and enforced that errorHandler is never null.
OFunique_ptr< helpers::LockFile > | lockFile
| Optional system wide synchronization lock.
bool | useLockFile
bool | closed
| Is this appender closed?

## 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.

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

- oflog/include/dcmtk/oflog/socketap.h

Generated on for DCMTK Version 3.7.0 by Doxygen 1.15.0