Spaces:
Paused
Paused
File size: 901 Bytes
f35f208 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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 |