LoggerAppenderSyslog

LoggerAppenderSyslog logs events to the syslog.

Layout

This appender requires a layout. If no layout is specified in configuration, LoggerLayoutSimple will be used by default.

Parameters

The following parameters are available:

Parameter Type Required Default Description
ident string no Apache log4php A string which will identify your appender.
overridePriority boolean No false If set to true, all messages will be sent to the syslog using the priority specified in the priority parameter. Otherwise, the pririty will depend on the level of the event being logged. See below.
priority string Yes/No - The syslog priority to use when overriding priority. This setting is required if overridePriority is set to true. See below for available priorities.
facility string No USER The syslog facility. Identifies the part of the system from which the event originated. See below for available facilities.
option string No PID|CONS Syslog options. See below for available options.

Priorities

The priority is the syslog equivalent of the log4php level. Here's a list of priorities available in syslog and the equivalent log4php levels.

Priority Description Equivalent level
EMERG System is unusable. -
ALERT Action must be taken immediately. FATAL
CRIT Critical conditions. -
ERR Error conditions. ERROR
WARNING Warning conditions WARN
NOTICE Normal, but significant, condition -
INFO Informational message INFO
DEBUG Debug-level message DEBUG, TRACE

Messages with level FATAL will be logged using the syslog's ALERT priority; ERROR level message will use ERR priority, etc.

Note that there is no priority below DEBUG, therefore both TRACE and DEBUG level mesages will be logged using the DEBUG syslog priority.

Facilities

The facility parameter is used to specify what type of program is logging the message. This allows you to specify (in your machine's syslog configuration) how messages coming from different facilities will be handled.

The following facilities are available:

Name Description
KERN Kernel messages
USER Generic user-level messages
MAIL Mail system
DAEMON System daemons
AUTH Security/authorization messages
SYSLOG Messages generated internally by syslogd
LPR Line printer subsystem
NEWS Network news subsystem
UUCP UUCP subsystem
CRON Clock daemon
AUTHPRIV Security/authorization messages (private)
LOCAL0 Reserved for local use
LOCAL1 Reserved for local use
LOCAL2 Reserved for local use
LOCAL3 Reserved for local use
LOCAL4 Reserved for local use
LOCAL5 Reserved for local use
LOCAL6 Reserved for local use
LOCAL7 Reserved for local use

Warning: USER is the only facility available on Windows operating systems.

Options

The following additional syslog options may be defined via the option parameter:

Name Description
CONS If there is an error while sending data to the system logger, write directly to the system console
NDELAY Open the connection to the logger immediately.
ODELAY Delay opening the connection until the first message is logged (default).
PERROR Print log messages also to standard error.
PID Include the PID with each message.

Multiple options may be set by separating them with a pipe character. For example CONS|PID|NODELAY.

Warning: When setting multiple options in an INI configuration file, be sure to put the options string in quotes. Otherwise they will not be parsed correctly.

Examples

Here is a sample configuration:

  • XML
  • PHP
<configuration xmlns="http://logging.apache.org/log4php/">
    <appender name="default" class="LoggerAppenderSyslog">
        <layout class="LoggerLayoutSimple" />
        <param name="ident" value="log4php-test" />
        <param name="facility" value="LOCAL0" />
        <param name="option" value="NDELAY|PID" />
    </appender>
    <root>
        <appender_ref ref="default" />
    </root>
</configuration>
array(
    'appenders' => array(
        'default' => array(
            'class' => 'LoggerAppenderSyslog',
            'layout' => array(
            	'class' => 'LoggerLayoutSimple',
            ),
            'params' => array(
                'ident' => 'log4php-test',
                'facility' => 'LOCAL0',
                'option' => 'NDELAY|PID'
            ),
        ),
    ),
    'rootLogger' => array(
        'appenders' => array('default'),
    ),
);