From 583ff118ba99d95454f0ef3e866f26928993ed91 Mon Sep 17 00:00:00 2001 From: Maksym Novik Date: Thu, 7 Feb 2019 14:53:08 +0200 Subject: [PATCH] Implement exception logging #220. Created custom error handler; Applied default error handling functionality --- app/etc/di.xml | 1 + .../Framework/GraphQl/Query/ErrorHandler.php | 29 +++++++++++++++++++ .../GraphQl/Query/ErrorHandlerInterface.php | 26 +++++++++++++++++ .../GraphQl/Query/QueryProcessor.php | 20 ++++++++++--- 4 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 lib/internal/Magento/Framework/GraphQl/Query/ErrorHandler.php create mode 100644 lib/internal/Magento/Framework/GraphQl/Query/ErrorHandlerInterface.php diff --git a/app/etc/di.xml b/app/etc/di.xml index 6cf169c1d2277..dc884cb9fe29b 100755 --- a/app/etc/di.xml +++ b/app/etc/di.xml @@ -209,6 +209,7 @@ + diff --git a/lib/internal/Magento/Framework/GraphQl/Query/ErrorHandler.php b/lib/internal/Magento/Framework/GraphQl/Query/ErrorHandler.php new file mode 100644 index 0000000000000..9fc3f9dc584e5 --- /dev/null +++ b/lib/internal/Magento/Framework/GraphQl/Query/ErrorHandler.php @@ -0,0 +1,29 @@ +exceptionFormatter = $exceptionFormatter; $this->queryComplexityLimiter = $queryComplexityLimiter; + $this->errorHandler = $errorHandler; } /** @@ -67,6 +77,8 @@ public function process( $contextValue, $variableValues, $operationName + )->setErrorsHandler( + [$this->errorHandler, 'handle'] )->toArray( $this->exceptionFormatter->shouldShowDetail() ? \GraphQL\Error\Debug::INCLUDE_DEBUG_MESSAGE | \GraphQL\Error\Debug::INCLUDE_TRACE : false