public function errorHandler($errno, $errstr, $errfile, $errline, $context, $trace = null)
{
if (error_reporting() === 0) {
return false;
}
$errorConversion = [E_ERROR => "E_ERROR", E_WARNING => "E_WARNING", E_PARSE => "E_PARSE", E_NOTICE => "E_NOTICE", E_CORE_ERROR => "E_CORE_ERROR", E_CORE_WARNING => "E_CORE_WARNING", E_COMPILE_ERROR => "E_COMPILE_ERROR", E_COMPILE_WARNING => "E_COMPILE_WARNING", E_USER_ERROR => "E_USER_ERROR", E_USER_WARNING => "E_USER_WARNING", E_USER_NOTICE => "E_USER_NOTICE", E_STRICT => "E_STRICT", E_RECOVERABLE_ERROR => "E_RECOVERABLE_ERROR", E_DEPRECATED => "E_DEPRECATED", E_USER_DEPRECATED => "E_USER_DEPRECATED"];
$errno = isset($errorConversion[$errno]) ? $errorConversion[$errno] : $errno;
if (($pos = strpos($errstr, "\n")) !== false) {
$errstr = substr($errstr, 0, $pos);
}
$errfile = $this->cleanPath($errfile);
$this->getLogger()->debug("An {$errno} error happened: \"{$errstr}\" in \"{$errfile}\" at line {$errline}");
foreach ($trace = $this->getTrace($trace === null ? 3 : 0, $trace) as $i => $line) {
$this->getLogger()->debug($line);
}
return true;
}