def _exception()

in clay/sentry.py [0:0]


def _exception(exc_info, request=None, event_id=None, **extra):
    client = get_sentry_client()
    if not client:
        # return silently if sentry isn't configured
        return
    if request is not None:
        environ = request.environ
        client.capture('Exception', data={
            'sentry.interfaces.Http': {
                'method': request.method,
                'url': request.base_url,
                'data': request.data,
                'query_string': environ.get('QUERY_STRING', ''),
                'headers': dict(raven.utils.wsgi.get_headers(environ)),
                'env': dict(raven.utils.wsgi.get_environ(environ)),
            },
            'logger': extra.get("logger", "sentry"),
        }, extra=extra, exc_info=exc_info, event_id=event_id)
    else:
        client.captureException(exc_info, extra=extra,
            event_id=event_id)