"Error", 2=>"Warning", 8=>"Notice", 256=>"User Error", 512=>"User Warning", 1024=>"User Notice" ); $des = "[".strftime("%d.%m.%Y - %H:%M")."] "; // Error date and time $des .= "Fehler!\n\tTyp: ".$error[$typ]."\n"; // Error $des .= "\tMeldung: $message\n\tZeile: $line\n"; // Content // All Types, which shouldn't print later $exclude = array ( "HTTP_POST_VARS", "_POST", "_GET", "HTTP_COOKIE_VARS", "_COOKIE", "HTTP_SERVER_VARS", "_SERVER", "HTTP_ENV_VARS", "_ENV", "HTTP_POST_FILES", "HTTP_GET_VARS", "_FILES", "_REQUEST" ); ini_set("track_errors", 1); // enable tracking switch($typ) { case E_NOTICE: case E_USER_NOTICE: @$fp=fopen($log); if($fp===false) { send_mail("[URGENT / NOTICE] Logfile failed", $des, 2); } else { fputs($fp, $des); fputs($fp, "\n\n"); } break; case E_WARNING: case E_USER_WARNING: case E_USER_ERROR: user_message(); @$fp = fopen($log_error, "a"); if($fp === false) send_mail("[URGENT / ERROR] Logfile failed", $des, 2); else { fputs($fp, $des); @$file = file($file); if($file === false) { fputs($fp, "Konnte Quelle nicht einlesen\n"); fputs($fp, "Das System meldet: $php_errormsg\n"); } else { $padding = 3; // Error in file if(count($file) < $line) fputs($fp, "Fehler nach Dateiende"); else { if(0 > $line-$padding) $anfang = 0; else $anfang = $line-$padding; // end of print $ende = $line+$padding; for($zaehler=$anfang; $zaehler $ende) break; // Zeilenumbrüche entfernen $file[$zaehler] = ereg_replace("[\n\r]", "", $file[$zaehler]); // Quelltext zeile ausgeben fputs($fp, "$zaehler: $file[$zaehler]\n"); } fputs($fp, "\nVariableninhalte:\n"); foreach($exclude AS $key) { unset($content[$key]); } ob_start(); print_r($content); $content_con = ob_get_contents(); ob_end_clean(); fputs($fp, $content_con); fputs($fp, "\n\n"); } // Mail mit hoher Prorität send_mail("[ERROR] $domain", $des, 2); } } die(); } // End switch } ini_set("error_reporting", E_ALL); ini_set("display_errors", 0); ini_set("log_errors", 1); ini_set("error_log", $error_path); set_error_handler("error_debugging"); /* END Error Debugging Engine */ ?>