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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file graphql_error_logger-0.0.3.tar.gz.

File metadata

  • Download URL: graphql_error_logger-0.0.3.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.3

File hashes

Hashes for graphql_error_logger-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ea21eb704800271ad800ff0b001f395b1e7b8897bf7119d07b889b0cfdf0dcd6
MD5 7f86279573a9a1f6ad447eafbc6c178b
BLAKE2b-256 f4f12a89a4d2f9b6319a5e1875bd92c776cd10f5992183a25fee62266ed7f9ec

See more details on using hashes here.

File details

Details for the file graphql_error_logger-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: graphql_error_logger-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.3

File hashes

Hashes for graphql_error_logger-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 20b6d58c58add5703a20b45c90dd8e7b76f15d1354e36bae45058667c94bceae
MD5 d990174e45bac8abe2b55962ac87a952
BLAKE2b-256 765fc8d6a9bf20701d8f86cc4622377cf64d3d1d8f961965a991d889730bcea3

See more details on using hashes here.

Supported by

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