日志及服务间调用trace链的源码阅读记录

@liubb  December 7, 2018

框架启动之初,先在最外层设置个捕捉异常的try catch


public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();

            $response = $this->sendRequestThroughRouter($request);
        } catch (Exception $e) {
            $this->reportException($e);

            $response = $this->renderException($request, $e);
        } catch (Throwable $e) {
            $this->reportException($e = new FatalThrowableError($e));

            $response = $this->renderException($request, $e);
        }

        $this->app['events']->dispatch(
            new Events\RequestHandled($request, $response)
        );

        return $response;
    }

捕捉到异常后

protected function reportException(Exception $e)
{
    $this->app[ExceptionHandler::class]->report($e);
}

添加新评论