Skip to main content

Sentry Integration for Muffin framework

Project description

Muffin-SentrySentry Integration for Muffin framework

Tests Status PYPI Version Python Versions

Requirements

  • python >= 3.8

Installation

Muffin-Sentry should be installed using pip:

pip install muffin-sentry

Usage

from muffin import Application
import muffin_sentry

# Create Muffin Application
app = Application('example')

# Initialize the plugin
# As alternative: jinja2 = Jinja2(app, **options)
sentry = muffin_sentry.Plugin()
sentry.setup(app, dsn="DSN_URL")

# Setup custom request processors (coroutines are not supported)
@sentry.processor
def user_scope(event, hint, request):
    if request.user:
        event['user'] = request.user.email
    return event

# Use it inside your handlers

# The exception will be send to Sentry
@app.route('/unhandled')
async def catch_exception(request):
    raise Exception('unhandled')

# Capture a message by manual
@app.route('/capture_message')
async def message(request):
    sentry.capture_message('a message from app')
    return 'OK'

# Capture an exception by manual
@app.route('/capture_exception')
async def exception(request):
    sentry.capture_exception(Exception())
    return 'OK'

# Update Sentry Scope
@app.route('/update_user')
async def user(request):
    scope = sentry.current_scope.get()
    scope.set_user({'id': 1, 'email': 'example@example.com'})
    sentry.capture_exception(Exception())
    return 'OK'

Options

Name

Default value

Desctiption

dsn

""

Sentry DSN for your application

sdk_options

{}

Additional options for Sentry SDK Client. See https://docs.sentry.io/platforms/python/configuration/options/

ignore_errors

[ResponseError, ResponseRedirect]

Exception Types to Ignore

You are able to provide the options when you are initiliazing the plugin:

sentry.setup(app, dsn='DSN_URL')

Or setup it inside Muffin.Application config using the SENTRY_ prefix:

SENTRY_DSN = 'DSN_URL'

Muffin.Application configuration options are case insensitive

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/muffin-sentry/issues

Contributing

Development of Muffin-Sentry happens at: https://github.com/klen/muffin-sentry

Contributors

  • klen (Kirill Klenov)

License

Licensed under a MIT license.

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

muffin-sentry-1.0.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

muffin_sentry-1.0.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file muffin-sentry-1.0.0.tar.gz.

File metadata

  • Download URL: muffin-sentry-1.0.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for muffin-sentry-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2c85baf1418f4506cca3654460eda06606aa419131728c4294a8f911e0c8cd78
MD5 264a68326f6ce7d1fc1149795ac89e5b
BLAKE2b-256 cd6b703f46af4f98079bf810a158321c273a50a2aca7b4d5ca6f9531d564975d

See more details on using hashes here.

File details

Details for the file muffin_sentry-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: muffin_sentry-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for muffin_sentry-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d769f4a417de63e180a4251283e9f20b11d2f90a4d6d81a800999d990047822c
MD5 c454ea36e8089b3dce5347227173dcab
BLAKE2b-256 880fce0a98bafe33da50721a33b6be235aaa3c23088b870ec7079af36bb9a89f

See more details on using hashes here.

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