/opt/cloudlinux/venv/lib/python3.11/site-packages/sentry_sdk/integrations
import sys from sentry_sdk.hub import Hub from sentry_sdk.utils import capture_internal_exceptions, event_from_exception from sentry_sdk.integrations import Integration from sentry_sdk._types import TYPE_CHECKING if TYPE_CHECKING: from typing import Callable from typing import Any from typing import Type from typing import Optional from types import TracebackType Excepthook = Callable[ [Type[BaseException], BaseException, Optional[TracebackType]], Any, ] class ExcepthookIntegration(Integration): identifier = "excepthook" always_run = False def __init__(self, always_run=False): # type: (bool) -> None if not isinstance(always_run, bool): raise ValueError( "Invalid value for always_run: %s (must be type boolean)" % (always_run,) ) self.always_run = always_run @staticmethod def setup_once(): # type: () -> None sys.excepthook = _make_excepthook(sys.excepthook) def _make_excepthook(old_excepthook): # type: (Excepthook) -> Excepthook def sentry_sdk_excepthook(type_, value, traceback): # type: (Type[BaseException], BaseException, Optional[TracebackType]) -> None hub = Hub.current integration = hub.get_integration(ExcepthookIntegration) if integration is not None and _should_send(integration.always_run): # If an integration is there, a client has to be there. client = hub.client # type: Any with capture_internal_exceptions(): event, hint = event_from_exception( (type_, value, traceback), client_options=client.options, mechanism={"type": "excepthook", "handled": False}, ) hub.capture_event(event, hint=hint) return old_excepthook(type_, value, traceback) return sentry_sdk_excepthook def _should_send(always_run=False): # type: (bool) -> bool if always_run: return True if hasattr(sys, "ps1"): # Disable the excepthook for interactive Python shells, otherwise # every typo gets sent to Sentry. return False return True
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
_wsgi_common.py
Edit
aiohttp.py
Edit
argv.py
Edit
arq.py
Edit
asgi.py
Edit
asyncio.py
Edit
atexit.py
Edit
aws_lambda.py
Edit
beam.py
Edit
boto3.py
Edit
bottle.py
Edit
celery.py
Edit
chalice.py
Edit
cloud_resource_context.py
Edit
dedupe.py
Edit
django
Edit
excepthook.py
Edit
executing.py
Edit
falcon.py
Edit
fastapi.py
Edit
flask.py
Edit
gcp.py
Edit
gnu_backtrace.py
Edit
grpc
Edit
httpx.py
Edit
huey.py
Edit
logging.py
Edit
loguru.py
Edit
modules.py
Edit
opentelemetry
Edit
pure_eval.py
Edit
pymongo.py
Edit
pyramid.py
Edit
quart.py
Edit
redis
Edit
rq.py
Edit
sanic.py
Edit
serverless.py
Edit
socket.py
Edit
spark
Edit
sqlalchemy.py
Edit
starlette.py
Edit
starlite.py
Edit
stdlib.py
Edit
threading.py
Edit
tornado.py
Edit
trytond.py
Edit
wsgi.py
Edit