Files
loyal_companion/src/daemon_boyfriend/utils/logging.py
2026-01-10 21:46:27 +01:00

45 lines
1.3 KiB
Python

"""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)