import logging import sys from pathlib import Path BASE_DIR = Path(__file__).parent.parent.parent LOG_DIR = BASE_DIR / "logs" LOG_DIR.mkdir(exist_ok=True) def setup_logger(name: str, level: str = "INFO") -> logging.Logger: logger = logging.getLogger(name) logger.setLevel(getattr(logging, level.upper())) if logger.handlers: return logger formatter = logging.Formatter( fmt="%(asctime)s | %(levelname)-8s | %(name)s | %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(formatter) logger.addHandler(console_handler) file_handler = logging.FileHandler(LOG_DIR / "app.log") file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger logger = setup_logger("rag_chatbot")