from __future__ import annotations import logging from pathlib import Path def setup_logging(log_file: str) -> logging.Logger: log_path = Path(log_file) log_path.parent.mkdir(parents=True, exist_ok=True) logger = logging.getLogger("ad_user_creator") logger.setLevel(logging.INFO) logger.handlers.clear() formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s") stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) logger.addHandler(stream_handler) file_handler = logging.FileHandler(log_path, encoding="utf-8") file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger