diff --git a/graphql/core/execution/executor.py b/graphql/core/execution/executor.py index 6e73387c..f62e5d7c 100644 --- a/graphql/core/execution/executor.py +++ b/graphql/core/execution/executor.py @@ -1,5 +1,6 @@ import collections import functools +import logging from ..error import GraphQLError from ..language import ast @@ -14,6 +15,9 @@ get_field_def, get_operation_root_type +logger = logging.getLogger(__name__) + + class Executor(object): def __init__(self, execution_middlewares=None, default_resolver=default_resolve_fn, map_type=dict): assert issubclass(map_type, collections.MutableMapping) @@ -317,4 +321,6 @@ def resolve_or_error(self, resolve_fn, source, args, info): return curried_resolve_fn() except Exception as e: + logger.exception("An error occurred while resolving field %s.%s" + % (info.parent_type.name, info.field_name)) return e