Ignore:
Timestamp:
Mar 31, 2010, 1:32:46 PM (15 years ago)
Author:
Pieter Naber
Message:

Updated ErrorHandler to use our LogHandler. Updated LogHandler with an adjustable error level.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/inc/LogHandler.class.php

    r7631 r7637  
    88/*
    99 * Log levels:
    10  *   LOG_EMERG          System is unusable
    11  *   LOG_ALERT          Action must be taken immediately
    12  *   LOG_CRIT           Critical conditions
    13  *   LOG_ERR            Error conditions
    14  *   LOG_WARNING        Warning conditions
    15  *   LOG_NOTICE         Normal, but significant, condition
    16  *   LOG_INFO           Informational message
    17  *   LOG_DEBUG          Debug-level message
     10 *   SYSLOG_EMERG               System is unusable
     11 *   SYSLOG_ALERT               Action must be taken immediately
     12 *   SYSLOG_CRIT                Critical conditions
     13 *   SYSLOG_ERR         Error conditions
     14 *   SYSLOG_WARNING     Warning conditions
     15 *   SYSLOG_NOTICE              Normal, but significant, condition
     16 *   SYSLOG_INFO                Informational message
     17 *   SYSLOG_DEBUG               Debug-level message
    1818 */
     19
     20define('SYSLOG_NONE', 0);
     21define('SYSLOG_EMERG', 1);
     22define('SYSLOG_ALERT', 2);
     23define('SYSLOG_CRIT', 3);
     24define('SYSLOG_ERR', 4);
     25define('SYSLOG_WARNING', 5);
     26define('SYSLOG_NOTICE', 6);
     27define('SYSLOG_INFO', 7);
     28define('SYSLOG_DEBUG', 8);
     29
     30/*
     31 * Actions on log levels
     32 */
     33define('LOG_LEVEL_ECHO', SYSLOG_DEBUG);
     34define('LOG_LEVEL_WRITE', SYSLOG_DEBUG);
     35define('LOG_LEVEL_MAIL', SYSLOG_DEBUG);
    1936
    2037class LogHandler {
    2138        /*
    22          * Function: LogHandler
     39         * Function: __construct (constructor)
     40         * Parameters: -
     41         * Function: Creating a LogHandler object
     42         */
     43        public function __construct() {
     44        }
     45
     46        /*
     47         * Function: logEntry
    2348         * Parameters: int $logno, string $logstr, string $logfile, int $logline
    24          * Function: Handling with log entries, decides what to do with it 
     49         * Function: Handling with log entries, decides what to do with it
    2550         */
    26         public function LogHandler(int $logno, string $logstr, string $logfile, int $logline) {
     51        public function logEntry($logno, $logstr, $logfile, $logline) {
     52                $errorString = 'SysLog ';
     53
    2754                switch ($logno) {
    28                         case LOG_EMERG:
    29                                 echo 'LOG_EMERG: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    30                                 // TODO
     55                        case SYSLOG_EMERG:
     56                                $errorString = 'Emergency';
    3157                                break;
    32                         case LOG_ALERT:
    33                                 echo 'LOG_ALERT: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    34                                 // TODO
     58                        case SYSLOG_ALERT:
     59                                $errorString = 'Alert';
    3560                                break;
    36                         case LOG_CRIT:
    37                                 echo 'LOG_CRIT: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    38                                 // TODO
     61                        case SYSLOG_CRIT:
     62                                $errorString = 'Critical';
    3963                                break;
    40                         case LOG_ERR:
    41                                 echo 'LOG_ERR: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    42                                 // TODO
     64                        case SYSLOG_ERR:
     65                                $errorString = 'Error';
    4366                                break;
    44                         case LOG_WARNING:
    45                                 echo 'LOG_WARNING: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    46                                 // TODO
     67                        case SYSLOG_WARNING:
     68                                $errorString = 'Warning';
    4769                                break;
    48                         case LOG_NOTICE:
    49                                 echo 'LOG_NOTICE: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    50                                 // TODO
     70                        case SYSLOG_NOTICE:
     71                                $errorString = 'Notice';
    5172                                break;
    52                         case LOG_INFO:
    53                                 echo 'LOG_INFO: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    54                                 // TODO
     73                        case SYSLOG_INFO:
     74                                $errorString = 'Information';
    5575                                break;
    56                         case LOG_DEBUG:
    57                                 echo 'LOG_DEBUG: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    58                                 // TODO
     76                        case SYSLOG_DEBUG:
     77                                $errorString = 'Debug';
    5978                                break;
    6079                        default:
    61                                 echo 'LOG_DEFAULT: ' , $logno , ': ' , $logstr , '<br/>Bestand: ' , $logfile , '<br/>Regel: ' , $logline , '<br/>';
    62                                 // TODO
     80                                $errorString = 'SYSLOG_DEFAULT';
    6381                                break;
     82                }
     83
     84                $errorString .= ' (' . $logno . '): ' . $logstr . "\r\n\t" . 'In file "' . $logfile . '" on line "' . $logline . '"' . "\r\n";
     85
     86                if ($logno <= LOG_LEVEL_ECHO) {
     87                        echo $errorString;
     88                }
     89                if ($logno <= LOG_LEVEL_WRITE) {
     90                        // TODO: Write $errorString to file
     91                }
     92                if ($logno <= LOG_LEVEL_MAIL) {
     93                        // TODO: Mail $errorString to administrator
    6494                }
    6595        }
    6696}
     97
     98$LOG_HANDLER = new LogHandler();
     99
     100/*
     101 * Function: trigger_log
     102 * Parameters: int $logno, string $logstr, string $logfile, int $logline
     103 * Function: Handling with log entries, forwarding them to our $LOG_HANDLER object.
     104 */
     105function trigger_log($logno, $logstr, $logfile, $logline) {
     106        global $LOG_HANDLER;
     107
     108        $LOG_HANDLER->logEntry($logno, $logstr, $logfile, $logline);
     109}
    67110?>
Note: See TracChangeset for help on using the changeset viewer.