3 * log4php is a PHP port of the log4j java logging package.
5 * <p>This framework is based on log4j (see {@link http://jakarta.apache.org/log4j log4j} for details).</p>
6 * <p>Design, strategies and part of the methods documentation are developed by log4j team
7 * (Ceki Gülcü as log4j project founder and
8 * {@link http://jakarta.apache.org/log4j/docs/contributors.html contributors}).</p>
10 * <p>PHP port, extensions and modifications by VxR. All rights reserved.<br>
11 * For more information, please see {@link http://www.vxr.it/log4php/}.</p>
13 * <p>This software is published under the terms of the LGPL License
14 * a copy of which has been included with this distribution in the LICENSE file.</p>
17 * @subpackage appenders
23 if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
25 require_once(LOG4PHP_DIR . '/LoggerAppenderSkeleton.php');
26 require_once(LOG4PHP_DIR . '/LoggerLevel.php');
27 require_once(LOG4PHP_DIR . '/LoggerLog.php');
30 * Log events using php {@link PHP_MANUAL#syslog} function.
32 * Levels are mapped as follows:
33 * - <b>level >= FATAL</b> to LOG_ALERT
34 * - <b>FATAL > level >= ERROR</b> to LOG_ERR
35 * - <b>ERROR > level >= WARN</b> to LOG_WARNING
36 * - <b>WARN > level >= INFO</b> to LOG_INFO
37 * - <b>INFO > level >= DEBUG</b> to LOG_DEBUG
39 * @author VxR <vxr@vxr.it>
40 * @version $Revision: 2 $
42 * @subpackage appenders
44 class LoggerAppenderSyslog extends LoggerAppenderSkeleton {
49 * @param string $name appender name
51 function LoggerAppenderSyslog($name)
53 $this->LoggerAppenderSkeleton($name);
56 function activateOptions()
58 define_syslog_variables();
59 $this->closed = false;
68 function append($event)
70 $level = $event->getLevel();
71 $message = $event->getRenderedMessage();
72 if ($level->isGreaterOrEqual(LoggerLevel::getLevelFatal())) {
73 syslog(LOG_ALERT, $message);
74 } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelError())) {
75 syslog(LOG_ERR, $message);
76 } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelWarn())) {
77 syslog(LOG_WARNING, $message);
78 } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelInfo())) {
79 syslog(LOG_INFO, $message);
80 } elseif ($level->isGreaterOrEqual(LoggerLevel::getLevelDebug())) {
81 syslog(LOG_DEBUG, $message);