mirror of
https://gitlab.linphone.org/BC/public/flexisip-account-manager.git
synced 2026-01-17 10:08:05 +00:00
Fix #74 Add a PHP error logger in XMLRPC
This commit is contained in:
parent
6276d1d02d
commit
fbb747ea74
1 changed files with 40 additions and 0 deletions
|
|
@ -91,3 +91,43 @@ class Logger
|
|||
$this->mylog("Debug", $message);
|
||||
}
|
||||
}
|
||||
|
||||
function systemErrorHandler($errno, string $errstr, string $errfile = '', int $errline = 0, $trace = '')
|
||||
{
|
||||
if (\is_array($trace)) $trace = '';
|
||||
|
||||
$error = $errstr . " in " . $errfile . ' (line ' . $errline . ")\n";
|
||||
$fullError = $error . 'Trace' . "\n" . $trace;
|
||||
|
||||
Logger::getInstance()->debug($fullError);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function exceptionHandler($exception)
|
||||
{
|
||||
systemErrorHandler(
|
||||
E_ERROR,
|
||||
get_class($exception) . ': '. $exception->getMessage(),
|
||||
$exception->getFile(),
|
||||
$exception->getLine(),
|
||||
$exception->getTraceAsString()
|
||||
);
|
||||
}
|
||||
|
||||
function fatalErrorShutdownHandler()
|
||||
{
|
||||
$lastError = error_get_last();
|
||||
if ($lastError && $lastError['type'] === E_ERROR) {
|
||||
systemErrorHandler(
|
||||
E_ERROR,
|
||||
$lastError['message'],
|
||||
$lastError['file'],
|
||||
$lastError['line']
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
set_error_handler('systemErrorHandler', E_ALL);
|
||||
set_exception_handler('exceptionHandler');
|
||||
register_shutdown_function('fatalErrorShutdownHandler');
|
||||
Loading…
Add table
Reference in a new issue