"""Configuration and logger setup for Split.io Feature Flag Manager.""" import logging import os from dotenv import load_dotenv load_dotenv() # Split.io configs SPLITIO_WORKSPACE_ID = os.getenv('SPLITIO_WORKSPACE_ID') HARNESS_API_KEY = os.getenv('HARNESS_API_KEY') HARNESS_ACCOUNT_IDENTIFIER = os.getenv('HARNESS_ACCOUNT_IDENTIFIER') # Base API URL SPLITIO_BASE_URL = 'https://api.split.io/internal/api/v2' HARNESS_BASE_URL = 'https://app.harness.io/ng/api' # Headers for authentication SPLITIO_HEADERS = { 'x-api-key': HARNESS_API_KEY, 'Accept': 'application/json', 'Content-Type': 'application/json', } FORBIDDEN_SUBSTRINGS = os.getenv('FORBIDDEN_SUBSTRINGS', 'global,admin').split(',') APP_NAME = 'splitio_ff_manager' LOG_LEVEL = os.getenv('LOG_LEVEL', 'INFO').upper() def setup_logger(name: str = APP_NAME) -> logging.Logger: """Set up and return a configured logger.""" logger = logging.getLogger(name) if not logger.handlers: handler = logging.StreamHandler() logger.addHandler(handler) logger.setLevel(getattr(logging, LOG_LEVEL, logging.INFO)) return logger