Poco::Net

class RemoteSyslogChannel

Library: Net
Package: Logging
Header: Poco/Net/RemoteSyslogChannel.h

Description

This Channel implements remote syslog logging over UDP according to the syslog Working Group Internet Draft: "The syslog Protocol" <http://www.ietf.org/internet-drafts/draft-ietf-syslog-protocol-17.txt>, and "Transmission of syslog messages over UDP" <http://www.ietf.org/internet-drafts/draft-ietf-syslog-transport-udp-07.txt>.

In addition, RemoteSyslogChannel also supports the "old" BSD syslog protocol, as described in RFC 3164.

Inheritance

Direct Base Classes: Poco::Channel

All Base Classes: Poco::Channel, Poco::Configurable, Poco::RefCountedObject

Member Summary

Member Functions: close, getPrio, getProperty, log, open, registerChannel, setProperty

Inherited Functions: close, duplicate, getProperty, log, open, referenceCount, release, setProperty

Enumerations

Anonymous

SYSLOG_PORT = 514

Facility

SYSLOG_KERN = (0 << 3)

kernel messages

SYSLOG_USER = (1 << 3)

random user-level messages

SYSLOG_MAIL = (2 << 3)

mail system

SYSLOG_DAEMON = (3 << 3)

system daemons

SYSLOG_AUTH = (4 << 3)

security/authorization messages

SYSLOG_SYSLOG = (5 << 3)

messages generated internally by syslogd

SYSLOG_LPR = (6 << 3)

line printer subsystem

SYSLOG_NEWS = (7 << 3)

network news subsystem

SYSLOG_UUCP = (8 << 3)

UUCP subsystem

SYSLOG_CRON = (9 << 3)

clock daemon

SYSLOG_AUTHPRIV = (10 << 3)

security/authorization messages (private)

SYSLOG_FTP = (11 << 3)

ftp daemon

SYSLOG_NTP = (12 << 3)

ntp subsystem

SYSLOG_LOGAUDIT = (13 << 3)

log audit

SYSLOG_LOGALERT = (14 << 3)

log alert

SYSLOG_CLOCK = (15 << 3)

clock deamon

SYSLOG_LOCAL0 = (16 << 3)

reserved for local use

SYSLOG_LOCAL1 = (17 << 3)

reserved for local use

SYSLOG_LOCAL2 = (18 << 3)

reserved for local use

SYSLOG_LOCAL3 = (19 << 3)

reserved for local use

SYSLOG_LOCAL4 = (20 << 3)

reserved for local use

SYSLOG_LOCAL5 = (21 << 3)

reserved for local use

SYSLOG_LOCAL6 = (22 << 3)

reserved for local use

SYSLOG_LOCAL7 = (23 << 3)

reserved for local use

Severity

SYSLOG_EMERGENCY = 0

Emergency: system is unusable

SYSLOG_ALERT = 1

Alert: action must be taken immediately

SYSLOG_CRITICAL = 2

Critical: critical conditions

SYSLOG_ERROR = 3

Error: error conditions

SYSLOG_WARNING = 4

Warning: warning conditions

SYSLOG_NOTICE = 5

Notice: normal but significant condition

SYSLOG_INFORMATIONAL = 6

Informational: informational messages

SYSLOG_DEBUG = 7

Debug: debug-level messages

Constructors

RemoteSyslogChannel

RemoteSyslogChannel();

Creates a RemoteSyslogChannel.

RemoteSyslogChannel

RemoteSyslogChannel(
    const std::string & address,
    const std::string & name,
    int facility = SYSLOG_USER,
    bool bsdFormat = false
);

Creates a RemoteSyslogChannel with the given target address, name, and facility. If bsdFormat is true, messages are formatted according to RFC 3164.

Destructor

~RemoteSyslogChannel protected virtual

~RemoteSyslogChannel();

Member Functions

close virtual

void close();

Closes the RemoteSyslogChannel.

See also: Poco::Channel::close()

getProperty virtual

std::string getProperty(
    const std::string & name
) const;

Returns the value of the property with the given name.

See also: Poco::Channel::getProperty()

log virtual

void log(
    const Message & msg
);

Sends the message's text to the syslog service.

See also: Poco::Channel::log()

open virtual

void open();

Opens the RemoteSyslogChannel.

See also: Poco::Channel::open()

registerChannel static

static void registerChannel();

Registers the channel with the global LoggingFactory.

setProperty virtual

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::Channel::setProperty()

getPrio protected static

static int getPrio(
    const Message & msg
);

Variables

BSD_TIMEFORMAT static

static const std::string BSD_TIMEFORMAT;

PROP_FACILITY static

static const std::string PROP_FACILITY;

PROP_FORMAT static

static const std::string PROP_FORMAT;

PROP_HOST static

static const std::string PROP_HOST;

PROP_LOGHOST static

static const std::string PROP_LOGHOST;

PROP_NAME static

static const std::string PROP_NAME;

SYSLOG_TIMEFORMAT static

static const std::string SYSLOG_TIMEFORMAT;