Spaces:
Paused
Paused
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 |