17 lines
513 B
Python
17 lines
513 B
Python
import structlog
|
|
from graphene import ResolveInfo
|
|
|
|
logger = structlog.get_logger(__name__)
|
|
|
|
|
|
class GrapheneErrorLoggingMiddleware(object):
|
|
# https://jerrynsh.com/how-to-monitor-python-graphql-api-with-sentry/
|
|
def resolve(self, next, root, info: ResolveInfo, **args):
|
|
try:
|
|
return next(root, info, **args)
|
|
except Exception as error:
|
|
logger.error(
|
|
"GraphQL error", label="graphql_error", info=info, exc_info=error
|
|
)
|
|
raise error
|