mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
BUGFIX: Updated SilverStripe error handler so that log_errors still works.
This commit is contained in:
parent
82988d421b
commit
6fcbad1a31
@ -213,6 +213,7 @@ class Debug {
|
|||||||
|
|
||||||
public static function noticeHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
public static function noticeHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
||||||
if(error_reporting() == 0) return;
|
if(error_reporting() == 0) return;
|
||||||
|
ini_set('display_errors', 0);
|
||||||
|
|
||||||
// Send out the error details to the logger for writing
|
// Send out the error details to the logger for writing
|
||||||
SS_Log::log(
|
SS_Log::log(
|
||||||
@ -227,7 +228,9 @@ class Debug {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if(Director::isDev()) {
|
if(Director::isDev()) {
|
||||||
self::showError($errno, $errstr, $errfile, $errline, $errcontext, "Notice");
|
return self::showError($errno, $errstr, $errfile, $errline, $errcontext, "Notice");
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,8 +245,10 @@ class Debug {
|
|||||||
*/
|
*/
|
||||||
public static function warningHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
public static function warningHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
||||||
if(error_reporting() == 0) return;
|
if(error_reporting() == 0) return;
|
||||||
|
ini_set('display_errors', 0);
|
||||||
|
|
||||||
if(self::$send_warnings_to) {
|
if(self::$send_warnings_to) {
|
||||||
self::emailError(self::$send_warnings_to, $errno, $errstr, $errfile, $errline, $errcontext, "Warning");
|
return self::emailError(self::$send_warnings_to, $errno, $errstr, $errfile, $errline, $errcontext, "Warning");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send out the error details to the logger for writing
|
// Send out the error details to the logger for writing
|
||||||
@ -263,8 +268,10 @@ class Debug {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(Director::isDev()) {
|
if(Director::isDev()) {
|
||||||
self::showError($errno, $errstr, $errfile, $errline, $errcontext, "Warning");
|
return self::showError($errno, $errstr, $errfile, $errline, $errcontext, "Warning");
|
||||||
}
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -279,6 +286,8 @@ class Debug {
|
|||||||
* @param unknown_type $errcontext
|
* @param unknown_type $errcontext
|
||||||
*/
|
*/
|
||||||
public static function fatalHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
public static function fatalHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
||||||
|
ini_set('display_errors', 0);
|
||||||
|
|
||||||
if(self::$send_errors_to) {
|
if(self::$send_errors_to) {
|
||||||
self::emailError(self::$send_errors_to, $errno, $errstr, $errfile, $errline, $errcontext, "Error");
|
self::emailError(self::$send_errors_to, $errno, $errstr, $errfile, $errline, $errcontext, "Error");
|
||||||
}
|
}
|
||||||
@ -300,11 +309,10 @@ class Debug {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(Director::isDev() || Director::is_cli()) {
|
if(Director::isDev() || Director::is_cli()) {
|
||||||
self::showError($errno, $errstr, $errfile, $errline, $errcontext, "Error");
|
return self::showError($errno, $errstr, $errfile, $errline, $errcontext, "Error");
|
||||||
} else {
|
} else {
|
||||||
self::friendlyError();
|
return self::friendlyError();
|
||||||
}
|
}
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -363,6 +371,7 @@ class Debug {
|
|||||||
$renderer->writeFooter();
|
$renderer->writeFooter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -679,7 +688,7 @@ function exceptionHandler($exception) {
|
|||||||
$file = $exception->getFile();
|
$file = $exception->getFile();
|
||||||
$line = $exception->getLine();
|
$line = $exception->getLine();
|
||||||
$context = $exception->getTrace();
|
$context = $exception->getTrace();
|
||||||
Debug::fatalHandler($errno, $message, $file, $line, $context);
|
return Debug::fatalHandler($errno, $message, $file, $line, $context);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -698,21 +707,18 @@ function errorHandler($errno, $errstr, $errfile, $errline) {
|
|||||||
case E_ERROR:
|
case E_ERROR:
|
||||||
case E_CORE_ERROR:
|
case E_CORE_ERROR:
|
||||||
case E_USER_ERROR:
|
case E_USER_ERROR:
|
||||||
Debug::fatalHandler($errno, $errstr, $errfile, $errline, debug_backtrace());
|
return Debug::fatalHandler($errno, $errstr, $errfile, $errline, debug_backtrace());
|
||||||
break;
|
|
||||||
|
|
||||||
case E_WARNING:
|
case E_WARNING:
|
||||||
case E_CORE_WARNING:
|
case E_CORE_WARNING:
|
||||||
case E_USER_WARNING:
|
case E_USER_WARNING:
|
||||||
Debug::warningHandler($errno, $errstr, $errfile, $errline, debug_backtrace());
|
return Debug::warningHandler($errno, $errstr, $errfile, $errline, debug_backtrace());
|
||||||
break;
|
|
||||||
|
|
||||||
case E_NOTICE:
|
case E_NOTICE:
|
||||||
case E_USER_NOTICE:
|
case E_USER_NOTICE:
|
||||||
case E_DEPRECATED:
|
case E_DEPRECATED:
|
||||||
case E_USER_DEPRECATED:
|
case E_USER_DEPRECATED:
|
||||||
case E_STRICT:
|
case E_STRICT:
|
||||||
Debug::noticeHandler($errno, $errstr, $errfile, $errline, debug_backtrace());
|
return Debug::noticeHandler($errno, $errstr, $errfile, $errline, debug_backtrace());
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user