Spaces:
Sleeping
Sleeping
| import logging | |
| import sys | |
| import os | |
| def setup_logging(): | |
| log_level_str = os.getenv("LOG_LEVEL", "INFO").upper() | |
| log_level = getattr(logging, log_level_str, logging.INFO) | |
| # Format: timestamp, level, module name, function name, line number, message | |
| # Format example: 2024-01-15 14:23:01 | ERROR | agent_orchestrator:_handle_implement_issue:245 | [REPO: owner/repo] Message here | |
| log_format = "%(asctime)s | %(levelname)s | %(module)s:%(funcName)s:%(lineno)d | %(message)s" | |
| date_format = "%Y-%m-%d %H:%M:%S" | |
| # Configure root logger | |
| # We use force=True to override any existing configuration (like the one in main.py) | |
| logging.basicConfig( | |
| level=log_level, | |
| format=log_format, | |
| datefmt=date_format, | |
| handlers=[ | |
| logging.StreamHandler(sys.stdout) | |
| ], | |
| force=True | |
| ) | |
| # Set some noisy loggers to WARNING | |
| logging.getLogger("httpx").setLevel(logging.WARNING) | |
| logging.getLogger("httpcore").setLevel(logging.WARNING) | |
| logger = logging.getLogger(__name__) | |
| logger.info("=" * 60) | |
| logger.info(f"Logging initialized with level: {log_level_str}") | |
| logger.info("=" * 60) | |