This commit is contained in:
2020-09-09 12:08:07 +08:00
parent 4d0ac47984
commit e82d2212e7
3 changed files with 33 additions and 36 deletions
+1 -31
View File
@@ -63,7 +63,7 @@ class OnRequest extends Callback
*/ */
protected function sendErrorMessage($sResponse, $exception, $response) protected function sendErrorMessage($sResponse, $exception, $response)
{ {
$params = $this->format($exception); $params = Snowflake::app()->getLogger()->exception($exception);
if (empty($sResponse)) { if (empty($sResponse)) {
$sResponse = \response(); $sResponse = \response();
$sResponse->response = $response; $sResponse->response = $response;
@@ -72,36 +72,6 @@ class OnRequest extends Callback
} }
/**
* @param Exception $exception
* @return false|int|mixed|string
* @throws Exception
*/
public function format($exception)
{
$errorInfo = [
'message' => $exception->getMessage(),
'file' => $exception->getFile(),
'line' => $exception->getLine()
];
$this->error(var_export($errorInfo, true));
$code = $exception->getCode() ?? 500;
$logger = Snowflake::app()->logger;
$string = 'Exception: ' . PHP_EOL;
$string .= '#. message: ' . $errorInfo['message'] . PHP_EOL;
$string .= '#. file: ' . $errorInfo['file'] . PHP_EOL;
$string .= '#. line: ' . $errorInfo['line'] . PHP_EOL;
$logger->write($string . $exception->getTraceAsString(), 'trace');
$logger->write(jTraceEx($exception), 'exception');
return JSON::to($code, $errorInfo['message']);
}
/** /**
* @param $request * @param $request
* @param $response * @param $response
+1 -5
View File
@@ -425,11 +425,7 @@ class Router extends Application implements RouterInterface
$response = send($node->dispatch(), 200); $response = send($node->dispatch(), 200);
} }
} catch (\Throwable $exception) { } catch (\Throwable $exception) {
$trance = JSON::to(500, $exception->getMessage(), [ $response = send(Snowflake::app()->getLogger()->exception($exception), 200);
'file' => $exception->getFile(),
'line' => $exception->getLine()
]);
$response = send($trance, 200);
} finally { } finally {
if (!($node instanceof Node) || !$node->hasAfter()) { if (!($node instanceof Node) || !$node->hasAfter()) {
return; return;
+31
View File
@@ -221,6 +221,37 @@ class Logger extends Component
return implode(PHP_EOL, $_tmp); return implode(PHP_EOL, $_tmp);
} }
/**
* @param Exception $exception
* @return false|int|mixed|string
* @throws Exception
*/
public function exception($exception)
{
$errorInfo = [
'message' => $exception->getMessage(),
'file' => $exception->getFile(),
'line' => $exception->getLine()
];
$this->error(var_export($errorInfo, true));
$code = $exception->getCode() ?? 500;
$logger = Snowflake::app()->logger;
$string = 'Exception: ' . PHP_EOL;
$string .= '#. message: ' . $errorInfo['message'] . PHP_EOL;
$string .= '#. file: ' . $errorInfo['file'] . PHP_EOL;
$string .= '#. line: ' . $errorInfo['line'] . PHP_EOL;
$logger->write($string . $exception->getTraceAsString(), 'trace');
$logger->write(jTraceEx($exception), 'exception');
return JSON::to($code, $errorInfo['message']);
}
/** /**
* @param Exception $exception * @param Exception $exception
* @return array * @return array