import logging from logging.handlers import RotatingFileHandler from pathlib import Path from config import LOG_LEVEL LOGS_DIR = Path("/var", "log", "menu-creche") LOGS_DIR.mkdir(parents=True, exist_ok=True) def get_logger(name: str) -> logging.Logger: logger = logging.getLogger(name) if not logger.handlers: logger.setLevel(LOG_LEVEL) formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) logger.addHandler(console_handler) file_handler = RotatingFileHandler( LOGS_DIR / "app.log", maxBytes=5 * 1024 * 1024, backupCount=3, mode="w" ) file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger