"""Logging configuration for the bot.""" import logging import sys from daemon_boyfriend.config import settings def setup_logging() -> None: """Configure application-wide logging.""" # Create formatter formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) # Configure root logger root_logger = logging.getLogger() root_logger.setLevel(settings.log_level) # Remove existing handlers root_logger.handlers.clear() # Console handler console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(formatter) root_logger.addHandler(console_handler) # Reduce noise from discord.py logging.getLogger("discord").setLevel(logging.WARNING) logging.getLogger("discord.http").setLevel(logging.WARNING) logging.getLogger("discord.gateway").setLevel(logging.WARNING) # Reduce noise from aiohttp logging.getLogger("aiohttp").setLevel(logging.WARNING) # Reduce noise from httpx (used by openai/anthropic) logging.getLogger("httpx").setLevel(logging.WARNING) logging.getLogger("httpcore").setLevel(logging.WARNING) def get_logger(name: str) -> logging.Logger: """Get a logger with the given name.""" return logging.getLogger(name)