DCMTK Version 3.6.9
OFFIS DICOM Toolkit
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 ErrorHandlergetErrorHandler ()
 Return the currently set ErrorHandler for this Appender.
 
virtual void setLayout (OFunique_ptr< Layout > layout)
 Set the layout for this appender.
 
virtual LayoutgetLayout ()
 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< Layoutlayout
 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< ErrorHandlererrorHandler
 It is assumed and enforced that errorHandler is never null.
 
OFunique_ptr< helpers::LockFilelockFile
 Optional system wide synchronization lock.
 
bool useLockFile
 Use lock file for inter-process synchronization of access to log file.
 
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:


Generated on Sat Mar 1 2025 for DCMTK Version 3.6.9 by Doxygen 1.13.2