3-ai-native-e2e-sample/backend/utils/logging_config.py (21 lines of code) (raw):

import logging import os from datetime import datetime def setup_logging(): """Configure logging for the application.""" log_level = getattr(logging, os.getenv("LOG_LEVEL", "INFO")) # Create logs directory if it doesn't exist if not os.path.exists("logs"): os.makedirs("logs") # Configure logging logging.basicConfig( level=log_level, format='%(asctime)s | %(levelname)s | %(name)s | %(message)s', handlers=[ # Console handler logging.StreamHandler(), # File handler - new file each day logging.FileHandler( filename=f'logs/app_{datetime.now().strftime("%Y%m%d")}.log', encoding='utf-8' ) ] ) # Log startup information logger = logging.getLogger(__name__) logger.info("🚀 Logging initialized at level: %s", log_level) logger.info("📂 Environment variables loaded: %s", ", ".join(f"{k}={'*' * 8 if 'SECRET' in k or 'KEY' in k else 'set' if v else 'not set'}" for k, v in os.environ.items()))