source: branches/comu-ver2/data/module/log4php/php4/log4php/appenders/LoggerAppenderSyslog.php @ 18220

Revision 18220, 2.7 KB checked in by yokkuns, 11 years ago (diff)

#149 ロガークラス作成

Line 
1<?php
2/**
3 * log4php is a PHP port of the log4j java logging package.
4 *
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>
9 *
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>
12 *
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>
15 *
16 * @package log4php
17 * @subpackage appenders
18 */
19
20/**
21 * @ignore
22 */
23if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
24 
25require_once(LOG4PHP_DIR . '/LoggerAppenderSkeleton.php');
26require_once(LOG4PHP_DIR . '/LoggerLevel.php');
27require_once(LOG4PHP_DIR . '/LoggerLog.php');
28
29/**
30 * Log events using php {@link PHP_MANUAL#syslog} function.
31 *
32 * Levels are mapped as follows:
33 * - <b>level &gt;= FATAL</b> to LOG_ALERT
34 * - <b>FATAL &gt; level &gt;= ERROR</b> to LOG_ERR
35 * - <b>ERROR &gt; level &gt;= WARN</b> to LOG_WARNING
36 * - <b>WARN  &gt; level &gt;= INFO</b> to LOG_INFO
37 * - <b>INFO  &gt; level &gt;= DEBUG</b> to LOG_DEBUG
38 *
39 * @author VxR <vxr@vxr.it>
40 * @version $Revision: 1.11 $
41 * @package log4php
42 * @subpackage appenders
43 */
44class LoggerAppenderSyslog extends LoggerAppenderSkeleton {
45   
46    /**
47     * Constructor
48     *
49     * @param string $name appender name
50     */
51    function LoggerAppenderSyslog($name)
52    {
53        $this->LoggerAppenderSkeleton($name);
54    }
55
56    function activateOptions()
57    {
58        define_syslog_variables();
59        $this->closed = false;
60    }
61
62    function close()
63    {
64        closelog();
65        $this->closed = true;
66    }
67
68    function append($event)
69    {
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);
82        }
83    }
84}
85?>
Note: See TracBrowser for help on using the repository browser.