insert('err_log', [ 'date'=>$date, 'err'=>$err, 'errstr'=>$errstr, 'trace'=>Json::encode($trace) ]); } function logErrorByCustomHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext){ if (!(error_reporting() & $errno)) { // This error code is not included in error_reporting, so let it fall // through to the standard PHP error handler return false; } $e = new \Exception(); logError( getFriendlyErrorType($errno), $errstr, explode("\n", $e->getTraceAsString()) ); } set_error_handler("\sammo\logErrorByCustomHandler"); function logExceptionByCustomHandler(\Throwable $e){ logError( get_class($e), $e->getMessage(), explode("\n", $e->getTraceAsString()) ); echo $e->getTraceAsString(); throw $e; } set_exception_handler('\\sammo\\logExceptionByCustomHandler');