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/ErrorHandler.php

    r7631 r7637  
    88/*
    99 * PHP errors:
    10  *   E_ERROR ( integer )                                Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.     
    11  *   E_WARNING ( integer )                              Run-time warnings (non-fatal errors). Execution of the script is not halted.     
    12  *   E_PARSE ( integer )                                Compile-time parse errors. Parse errors should only be generated by the parser. 
    13  *   E_NOTICE ( integer )                               Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script.   
     10 *   E_ERROR ( integer )                                Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.
     11 *   E_WARNING ( integer )                              Run-time warnings (non-fatal errors). Execution of the script is not halted.
     12 *   E_PARSE ( integer )                                Compile-time parse errors. Parse errors should only be generated by the parser.
     13 *   E_NOTICE ( integer )                               Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script.
    1414 *   E_CORE_ERROR ( integer )                   Fatal errors that occur during PHP's initial startup. This is like an E_ERROR, except it is generated by the core of PHP.       since PHP 4
    1515 *   E_CORE_WARNING ( integer )                 Warnings (non-fatal errors) that occur during PHP's initial startup. This is like an E_WARNING, except it is generated by the core of PHP.      since PHP 4
     
    2121 *   E_STRICT ( integer )                               Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code.     since PHP 5
    2222 *   E_RECOVERABLE_ERROR ( integer )    Catchable fatal error. It indicates that a probably dangerous error occured, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR.        since PHP 5.2.0
    23  *   E_DEPRECATED ( integer )                   Run-time notices. Enable this to receive warnings about code that will not work in future versions.     since PHP 5.3.0
    24  *   E_USER_DEPRECATED ( integer )              User-generated warning message. This is like an E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error().     since PHP 5.3.0
    2523 *   E_ALL ( integer )                                  All errors and warnings, as supported, except of level E_STRICT in PHP < 6.
    2624 */
    2725
    2826/*
    29  * Function: ErrorHandler
     27 * Function: NodeErrorHandler
    3028 * Parameters: int $errno, string $errstr, string $errfile, int $errline, array $errcontext
    31  * Function: Handling with errors, decides what to do with it
     29 * Function: Handling with errors, decides what log level it is and send it to LogHandler
    3230 */
    33 function ErrorHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext) {
     31function NodeErrorHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext) {
    3432        switch ($errno) {
    3533                case E_ERROR:
    36                         echo 'E_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    37                         // TODO
    38                         break;   
    39                 case E_WARNING: 
    40                         echo 'E_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    41                         // TODO
    42                         break;   
    43                 case E_PARSE:   
    44                         echo 'E_PARSE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    45                         // TODO
    46                         break;   
    47                 case E_NOTICE:   
    48                         echo 'E_NOTICE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    49                         // TODO
    50                         break;   
     34                        trigger_log(SYSLOG_ERR, $errstr, $errfile, $errline);
     35                        break;
     36                case E_WARNING:
     37                        trigger_log(SYSLOG_WARNING, $errstr, $errfile, $errline);
     38                        break;
     39                case E_PARSE:
     40                        trigger_log(SYSLOG_ERR, $errstr, $errfile, $errline);
     41                        break;
     42                case E_NOTICE:
     43                        trigger_log(SYSLOG_NOTICE, $errstr, $errfile, $errline);
     44                        break;
    5145                case E_CORE_ERROR:
    52                         echo 'E_CORE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    53                         // TODO
    54                         break;   
     46                        trigger_log(SYSLOG_ERR, $errstr, $errfile, $errline);
     47                        break;
    5548                case E_CORE_WARNING:
    56                         echo 'E_CORE_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    57                         // TODO
    58                         break;   
     49                        trigger_log(SYSLOG_WARNING, $errstr, $errfile, $errline);
     50                        break;
    5951                case E_COMPILE_ERROR:
    60                         echo 'E_COMPILE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    61                         // TODO
    62                         break;   
     52                        trigger_log(SYSLOG_ERR, $errstr, $errfile, $errline);
     53                        break;
    6354                case E_COMPILE_WARNING:
    64                         echo 'E_COMPILE_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    65                         // TODO
    66                         break;   
     55                        trigger_log(SYSLOG_WARNING, $errstr, $errfile, $errline);
     56                        break;
    6757                case E_USER_ERROR:
    68                         echo 'E_USER_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    69                         // TODO
    70                         break;   
     58                        trigger_log(SYSLOG_ERR, $errstr, $errfile, $errline);
     59                        break;
    7160                case E_USER_WARNING:
    72                         echo 'E_USER_WARNING: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    73                         // TODO
    74                         break;   
     61                        trigger_log(SYSLOG_WARNING, $errstr, $errfile, $errline);
     62                        break;
    7563                case E_USER_NOTICE:
    76                         echo 'E_USER_NOTICE: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    77                         // TODO
    78                         break;   
     64                        trigger_log(SYSLOG_NOTICE, $errstr, $errfile, $errline);
     65                        break;
    7966                case E_STRICT:
    80                         echo 'E_STRICT: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    81                         // TODO
    82                         break;   
     67                        trigger_log(SYSLOG_NOTICE, $errstr, $errfile, $errline);
     68                        break;
    8369                case E_RECOVERABLE_ERROR:
    84                         echo 'E_RECOVERABLE_ERROR: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    85                         // TODO
    86                         break;   
    87                 case E_DEPRECATED:
    88                         echo 'E_DEPRECATED: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    89                         // TODO
    90                         break;   
    91                 case E_USER_DEPRECATED:
    92                         echo 'E_USER_DEPRECATED: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    93                         // TODO
    94                         break;   
     70                        trigger_log(SYSLOG_ERR, $errstr, $errfile, $errline);
     71                        break;
    9572                default:
    96                         echo 'E_DEFAULT: ' , $errno , ': ' , $errstr , '<br/>Bestand: ' , $errfile , '<br/>Regel: ' , $errline , '<br/>';
    97                         // TODO
    98                         break;   
     73                        trigger_log(SYSLOG_NOTICE, $errstr, $errfile, $errline);
     74                        break;
    9975        }
    10076
     
    10379}
    10480
    105 set_exception_handler('ErrorHandler');
     81set_exception_handler('NodeErrorHandler');
Note: See TracChangeset for help on using the changeset viewer.