import logging import os import sys def get_base_dir() -> str: if getattr(sys, "frozen", False): return os.path.dirname(sys.executable) return os.path.dirname(os.path.abspath(sys.argv[0])) def setup_logger() -> logging.Logger: log_file = os.path.join(get_base_dir(), "app.log") logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", handlers=[ logging.FileHandler(log_file, encoding="utf-8"), logging.StreamHandler(), ], ) logger = logging.getLogger(__name__) logger.info("日志系统初始化完成: %s", log_file) return logger