import logging
import os
import sys


def setup_logging(log_level: str = "INFO", log_file: str = "data/bot.log"):
    os.makedirs(os.path.dirname(log_file) or ".", exist_ok=True)
    fmt = "%(asctime)s [%(levelname)s] %(name)s: %(message)s"
    handlers = [
        logging.StreamHandler(sys.stdout),
        logging.FileHandler(log_file, encoding="utf-8"),
    ]
    logging.basicConfig(level=getattr(logging, log_level.upper(), "INFO"),
                        format=fmt, handlers=handlers)
