Skip to main content

Log expection from the GraphQL python server

Project description

Summary

  • allows for the logging of the exception happening in the flask-graphql framework.

  • this hooks into the graphql error handler and logs the original error, along with its stacktrace

  • this allows one to see the data for an error like

{
  "errors": [
    {
      "message": "sdsd",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "users"
      ]
    }
  ],
  "data": {
    "users": null
  }
}

as

2020-04-06 00:02:43,217 - LIA-logger:30 - ERROR - error in resolvers
Traceback (most recent call last):
  File "/Users/brianrotich/.pyenv/versions/3.6.10/envs/test-app/lib/python3.6/site-packages/graphql/execution/executor.py", line 452, in resolve_or_error
    return executor.execute(resolve_fn, source, info, **args)
  File "/Users/brianrotich/.pyenv/versions/3.6.10/envs/test-app/lib/python3.6/site-packages/graphql/execution/executors/sync.py", line 16, in execute
    return fn(*args, **kwargs)
  File "/Users/brianrotich/.pyenv/versions/3.6.10/envs/test-app/lib/python3.6/site-packages/graphene/relay/connection.py", line 161, in connection_resolver
    resolved = resolver(root, info, **args)
  File "/Users/brianrotich/codes/app/test-app/__init__.py", line 187, in resolve_users
    raise ValueError('sdsd')
ValueError: sdsd

Usage

a. using an existing logger in the app.py

import logging

import graphql_error_logger

def create_app():
    # logger initialization and configuration
    logger= logging.getLogger(__name__)
    graphql_error_logger.init_logger(logger)

b. if no logger is provided, the library creates a logger called graphql-error-logger automatically

import graphql_error_logger

def create_app():
    graphql_error_logger.init_logger()
  • this logger is configured to use the ERROR log level to log the exception stacktrace

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphql_error_logger-0.0.3.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

graphql_error_logger-0.0.3-py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page