public static function output($error, $debug) { $context = ''; foreach ($error['errorContext'] as $key => $value) { $context .= $key . ': ' . print_r($value, TRUE) . '<br />'; } $trace = ''; foreach ($error['trace'] as $level => $data) { $args = ''; $escaped_args = array_map('htmlspecialchars', $data['args']); // foreach ($data['args'] as $arg) { // $args = htmlspecialchars($arg).'<br />'; // } $args = implode(', ', $escaped_args); $trace .= '<br />#' . $level . ' ' . $data['file'] . ':' . $data['line'] . '<br />' . $data['class'] . $data['type'] . $data['function'] . '(' . $args . ')' . '<br />'; } echo sprintf('<pre>Error(%s): %s<br />Source: %s:%s<br />Trace: %s<br />%s', ExceptionHandler::getErrorTypeName($error['errorCode']), $error['errorMessage'], $error['errorFile'], $error['errorLine'], $trace, $debug && $context ? 'Context:<br />' . $context : ''); //$this->getPrevious() — Возвращает предыдущее исключение //$this->getTraceAsString — Получает трассировку стека в виде строки }
public static function output($error, $debug) { echo sprintf("Error %s(%s): \"%s\" in %s: %s %s", ExceptionHandler::getErrorTypeName($error['errorCode']), $error['errorCode'], $error['errorMessage'], $error['errorFile'], $error['errorLine'], $debug ? print_r($error['errorContext'], 1) : ''); }
public static function output($error, $debug) { error_log(sprintf("Error %s (%s): %s in %s: %s", ExceptionHandler::getErrorTypeName($error['errorCode']), $error['errorCode'], $error['errorMessage'], $error['errorFile'], $error['errorLine']) . (php_sapi_name() == 'cli' ? '' : ' Referer: ' . $_SERVER['REQUEST_URI']) . ($debug ? PHP_EOL . print_r($error['errorContext']) . PHP_EOL : '')); }