static function exception($e) { $message = $e->getMessage(); $file = File::relative_path($e->getFile()); $line = $e->getLine(); printf("[exception] [1m%s[0m ([34m%s[0m:{$line})\n", $message, $file, $line); if (defined('DEBUG')) { $trace = array_slice($e->getTrace(), 1, 3); foreach ($trace as $n => $t) { fprintf(STDERR, "%3d. %s%s() in (%s:%d)\n", $n + 1, $t['class'] ? $t['class'] . '::' : '', $t['function'], File::relative_path($t['file']), $t['line']); } fprintf(STDERR, "\n"); } }
static function exception($e) { $message = $e->getMessage(); if ($message) { $file = File::relative_path($e->getFile()); $line = $e->getLine(); error_log(sprintf("[31m[4mEXCEPTION[0m [1m%s[0m", $message)); $trace = array_slice($e->getTrace(), 1, 5); foreach ($trace as $n => $t) { error_log(sprintf(" %d) %s%s() in %s on line %d", $n + 1, $t['class'] ? $t['class'] . '::' : '', $t['function'], File::relative_path($t['file']), $t['line'])); } } if (PHP_SAPI != 'cli') { while (@ob_end_clean()) { } //清空之前的所有显示 header('HTTP/1.1 500 Internal Server Error'); } }