"""Feed ingestion modules.""" from logging import config, getLogger from snowflake import connector from feed_ingestion.conf import getconf from feed_ingestion.util.query_tag import get_query_tag config.dictConfig(getconf('logging')) logger = getLogger(__name__) logger.debug('configured logging') _original_connect = connector.connect def _connect_with_query_tag(*args, **kwargs): """Wrap connector.connect to inject the current thread's query tag.""" query_tag = get_query_tag() if query_tag: logger.debug( f'Injecting query tag into Snowflake connection: {query_tag}') kwargs.setdefault('session_parameters', {}).setdefault( 'QUERY_TAG', query_tag) return _original_connect(*args, **kwargs) connector.connect = _connect_with_query_tag