import logging.config from fansifter_common.constants import PROD_ENVIRONMENT, QA_ENVIRONMENT from fansifter_common.logging.utils import update_logging_config from location import config _ready = False def setup() -> None: global _ready if _ready: return None logging.config.dictConfig( update_logging_config( config.LOGGING_CONFIG, environment=config.ENVIRONMENT, service_name=config.SERVICE_NAME, service_version=config.SERVICE_VERSION, logger_name=config.LOGGER_NAME, log_format=config.LOG_FORMAT, debug=config.DEBUG, ) ) if config.ENVIRONMENT in [QA_ENVIRONMENT, PROD_ENVIRONMENT]: # Setup Sentry if config.SENTRY_DSN: import sentry_sdk sentry_sdk.init(dsn=config.SENTRY_DSN) else: raise ValueError(f"Sentry is not configured in {config.ENVIRONMENT}.") _ready = True setup()