# Poco

# class SyslogChannel

Library: Foundation
Package: Logging
Header: Poco/SyslogChannel.h

## Description

This Unix-only channel works with the Unix syslog service.

## Inheritance

Direct Base Classes: Channel

All Base Classes: Channel, Configurable, RefCountedObject

## Member Summary

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

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

## Types Aliases

### Ptr

using Ptr = AutoPtr < SyslogChannel >;

## Enumerations

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

### Option

SYSLOG_PID = 0x01

log the pid with each message

SYSLOG_CONS = 0x02

log on the console if errors in sending

SYSLOG_NDELAY = 0x08

don't delay open

SYSLOG_PERROR = 0x20

log to stderr as well (not supported on all platforms)

## Constructors

### SyslogChannel

SyslogChannel();

Creates a SyslogChannel.

### SyslogChannel

SyslogChannel(
const std::string & name,
int options = SYSLOG_CONS,
int facility = SYSLOG_USER
);

Creates a SyslogChannel with the given name, options and facility.

## Destructor

### ~SyslogChannel

~SyslogChannel() override;

## Member Functions

### close

void close() override;

Closes the SyslogChannel.

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

### getProperty

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

Returns the value of the property with the given name.

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

### log

void log(
const Message & msg
) override;

Sends the message's text to the syslog service.

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

### open

void open() override;

Opens the SyslogChannel.

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

### setProperty

void setProperty(
const std::string & name,
const std::string & value
) override;

Sets the property with the given value.

The following properties are supported:

- name: The name used to identify the source of log messages.
- facility: The facility added to each log message. See the Facility enumeration for a list of supported values.
- options: The logging options. See the Option enumeration for a list of supported values.

See also: Poco::Channel::setProperty()

### getPrio

static int getPrio(
const Message & msg
);

## Variables

### PROP_FACILITY

static const std::string PROP_FACILITY;

### PROP_NAME

static const std::string PROP_NAME;

### PROP_OPTIONS

static const std::string PROP_OPTIONS;