Library: Net
Package: Logging
Header: Poco/Net/RemoteSyslogListener.h
RemoteSyslogListener implents listening for syslog messages sent over UDP, according to RFC 5424 "The Syslog Protocol" and RFC 5426 "Transmission of syslog messages over UDP".
In addition, RemoteSyslogListener also supports the "old" BSD syslog protocol, as described in RFC 3164.
The RemoteSyslogListener is a subclass of Poco::SplitterChannel. Every received log message is sent to the channels registered with addChannel() or the "channel" property.
Poco::Message objects created by RemoteSyslogListener will have the following named parameters:
Direct Base Classes: Poco::SplitterChannel
All Base Classes: Poco::Channel, Poco::Configurable, Poco::RefCountedObject, Poco::SplitterChannel
Member Functions: close, enqueueMessage, getProperty, open, processMessage, registerChannel, setProperty
Inherited Functions: addChannel, close, count, duplicate, getProperty, log, open, referenceCount, release, removeChannel, setProperty
Creates the RemoteSyslogListener.
RemoteSyslogListener(
Poco::UInt16 port
);
Creates the RemoteSyslogListener, listening on the given port number.
RemoteSyslogListener(
Poco::UInt16 port,
int threads
);
Creates the RemoteSyslogListener, listening on the given port number and using the number of threads for message processing.
Destroys the RemoteSyslogListener.
void close();
Stops the listener.
See also: Poco::SplitterChannel::close()
void enqueueMessage(
const std::string & messageText,
const Poco::Net::SocketAddress & senderAddress
);
Enqueues a single line of text containing a syslog message for asynchronous processing by a parser thread.
std::string getProperty(
const std::string & name
) const;
Returns the value of the property with the given name.
See also: Poco::Channel::getProperty()
void open();
Starts the listener.
See also: Poco::Channel::open()
void processMessage(
const std::string & messageText
);
Parses a single line of text containing a syslog message and sends it down the filter chain.
static void registerChannel();
Registers the channel with the global LoggingFactory.
void setProperty(
const std::string & name,
const std::string & value
);
Sets the property with the given value.
The following properties are supported:
See also: Poco::SplitterChannel::setProperty()
static const std::string PROP_PORT;
static const std::string PROP_THREADS;