Location: PHPKode > projects > Content*Builder > contentbuilder/lib/errorhandler.inc.php
<?
# Error-Handling-Funktionen - geboren aus dem Support-Leben (die meisten
# Nutzer koennen das PHP-Error-Log nicht nutzen)
#
# Author: hide@address.com
# date: 2003-10-11
# location: Leipzig, Germany
# version: x1 (whatever that means)

# Anleitung:
#
# Pflicht: damit die Umleitung des Error-Log funktioniert, muss $debug TRUE sein
#
# optional: in dieser Datei die Variable $myErrorFile anpassen (Pfad zur Log-Datei)
# z.B. $myErrorFile="myPhpError.log";
#
# optional:  Error-Level anpassen (äquivalent zu Einstellungen in php.ini)
# (z.B. $error_reporting=(E_ALL & ~E_NOTICE); )


# customizing starts here ...
# hier ist der Logfile-Dateiname für den custom error-Handler zu setzen ...
# (kann auch ein kompletter Pfad sein)
if (!$myErrorFile) $myErrorFile="myPhpError.log";

# set errors-typs logged ..
# Examples:
#   - Show all errors, except for notices
if (!$error_reporting) $error_reporting=(E_ALL & ~E_NOTICE);
#
#   - Show only errors
# $error_reporting=(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
#
#   - Show all errors except for notices
# $error_reporting=(E_ALL);


# Ende customizing


$eArray=array(
    E_ALL=>"E_ALL",
    E_ERROR=>"E_ERROR",
    E_WARNING=>"E_WARNING",
    E_NOTICE=>"E_NOTICE",
    E_COMPILE_WARNING=>"E_COMPILE_WARNING",
    E_USER_ERROR=>"E_USER_ERROR",
    E_USER_WARNING=>"E_USER_WARNING",
    E_USER_NOTICE=>"E_USER_NOTICE"
);


// user-defined error handler function
function myErrorHandler ($errno, $errstr, $errfile, $errline) {
    global $myErrorFile,$eArray,$error_reporting;
    // soll der Fehler reportet werden? (s. Einstellungen im Kopf dieser Datei)
    if (($error_reporting & $errno)==$errno){
    // hier ist die Ausgabe-Destination für den custom error-Handler zu setzen ...
        $str=date("d-M-Y H:i:s",time());
        $str.=" ".$eArray[$errno]." ".$errstr." in ".$errfile." on line ".$errline."\n";
        if ($f=fopen($myErrorFile,"a")){
            $ret=fwrite($f,$str,strlen($str));
            // bei Fehler-Typ "ERROR" MUSS DIESE Funktion abbrechen ... Skript laeuft sonst
            // trotz Fehler "irgendwie weiter" (undefinierbare Zustaende mit
            // Datenverlust bis Festplattenschrott moeglich))
            if ($errno==E_ERROR || $errno==E_USER_ERROR){
                $ret=fwrite($f,"was fatal error... aborting.\n");
                exit("1");
            }
            fclose($f);
        }else{
            echo "Cannot write to error-log $myErrorFile";
        }
    }
}
// set to the user defined error handler
if ($debug){
	$old_error_handler = set_error_handler("myErrorHandler");
}

// Generate Test-Errors ...
//    this should be logged only ..
# trigger_error("test error-handler E_USER_WARNING",E_USER_WARNING);
//   this should be logged AND script should abort after arriving at this user-
//   defined error code ..
# trigger_error("test error-handler E_USER_ERROR",E_USER_ERROR);

// generic debugging function ...
function debug($level=0,$str=""){
	global $debug;
	if ((! $debug) || ($debug<$level)) return;
	echo $str."<br>";
}

// generic error function ...
function croak($str){
	//if (! $debug) return;
	echo "<font color=red>".$str."</font><br>";
}


?>
Return current item: Content*Builder