def setup()

in src/Backend/src/api/sentry.py [0:0]


def setup(settings: typings.Settings) -> None:
    transport = None
    dsn = settings.get("sentry_dsn")
    if dsn:
        logging.info("Initialising Sentry with DSN")
    else:
        logging.info("Initialising Sentry with custom transport")
        transport = OfflineTransport

    _sentry_logging = sentry_logging.LoggingIntegration(
        level=logging.INFO,  # Capture info and above as breadcrumbs
        event_level=logging.ERROR,  # Send errors as events
    )
    sentry_sdk.init(
        dsn=dsn,
        environment=settings.get("project_id"),
        release=settings.get("git_sha"),
        default_integrations=True,
        auto_enabling_integrations=False,
        integrations=[
            _sentry_logging,
            AioHttpIntegration(),
            AsyncioIntegration(),
            GRPCIntegration(),
            SqlalchemyIntegration(),
        ],
        in_app_include=["api."],
        transport=transport,
    )