import logging import os import sentry_sdk from sentry_sdk.integrations.logging import LoggingIntegration logger = logging.getLogger(__name__) def init_sentry(): sentry_dsn = os.getenv('SENTRY_DSN') if not sentry_dsn: logger.warning('SENTRY_DSN is not set in env') return logging_integration = LoggingIntegration( level=logging.INFO, # Capture info and above event_level=logging.ERROR # Send errors as events ) sentry_sdk.init( dsn=sentry_dsn, integrations=[logging_integration], traces_sample_rate=1.0, ) logger.info('Sentry initialized successfully.') def set_context(feed_name: str): sentry_sdk.set_tag('feed_name', feed_name) sentry_sdk.set_context('etl_run', {'feed_name': feed_name}) sentry_sdk.set_extra('feed_name', feed_name)