ContriBot / logging_config.py
GitHub Actions
sync: backend from GitHub Actions 2026-03-21 15:55:43
3a507e4
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)