LLMServer / utils /logging.py
AurelioAguirre's picture
Refactored
f35f208
raw
history blame
901 Bytes
import logging
from pathlib import Path
def setup_logger(config: dict, name: str = None) -> logging.Logger:
"""Set up logger with configuration from config file."""
logger = logging.getLogger(name or __name__)
# Set level from config
level = getattr(logging, config["logging"]["level"].upper())
logger.setLevel(level)
# Create logs directory if it doesn't exist
log_path = Path(config["folders"]["logs"])
log_path.mkdir(exist_ok=True)
# Create handlers
file_handler = logging.FileHandler(log_path / config["logging"]["file"])
console_handler = logging.StreamHandler()
# Create formatter
formatter = logging.Formatter(config["logging"]["format"])
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# Add handlers
logger.addHandler(file_handler)
logger.addHandler(console_handler)
return logger