From 8d8432db441d832c55f1f7a0f88cdecafe367eda Mon Sep 17 00:00:00 2001 From: rstoyanchev Date: Wed, 26 Jun 2024 13:12:45 +0100 Subject: [PATCH] Consistent logging in annotated exception handler This commit aligns DEBUG logging of exceptions resolved via annotated exception handler methods with ExceptionResolversExceptionHandler and the reference documentation. Closes gh-996 --- .../AnnotatedControllerExceptionResolver.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerExceptionResolver.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerExceptionResolver.java index f60d709a..97e6551f 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerExceptionResolver.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/AnnotatedControllerExceptionResolver.java @@ -238,7 +238,17 @@ final class AnnotatedControllerExceptionResolver implements HandlerDataFetcherEx Object result = exceptionHandler.invoke(env, arguments); - return methodReturnValueAdapter.adapt(result, exception); + Mono> errorsMono = methodReturnValueAdapter.adapt(result, exception); + if (logger.isDebugEnabled()) { + errorsMono = errorsMono.doOnNext((errors) -> { + if (logger.isDebugEnabled()) { + String name = exception.getClass().getSimpleName(); + logger.debug("Resolved " + name + " to GraphQL error(s): " + errors, exception); + } + }); + } + + return errorsMono; } catch (Throwable invocationEx) { // Any other than the original exception (or a cause) is unintended here,