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)
{
$params = $this->format($exception);
$params = Snowflake::app()->getLogger()->exception($exception);
if (empty($sResponse)) {
$sResponse = \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 $response
+1 -5
View File
@@ -425,11 +425,7 @@ class Router extends Application implements RouterInterface
$response = send($node->dispatch(), 200);
}
} catch (\Throwable $exception) {
$trance = JSON::to(500, $exception->getMessage(), [
'file' => $exception->getFile(),
'line' => $exception->getLine()
]);
$response = send($trance, 200);
$response = send(Snowflake::app()->getLogger()->exception($exception), 200);
} finally {
if (!($node instanceof Node) || !$node->hasAfter()) {
return;
+31
View File
@@ -221,6 +221,37 @@ class Logger extends Component
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
* @return array