import logging import sys import traceback from pathlib import Path from gui.main_window import MainWindow def setup_logging(): """设置日志""" try: log_dir = Path.home() / ".cursor_switcher" / "logs" log_dir.mkdir(parents=True, exist_ok=True) log_file = log_dir / "switcher.log" # 同时输出到文件和控制台 handlers = [logging.FileHandler(log_file, encoding="utf-8")] if sys.stdout is not None: handlers.append(logging.StreamHandler(sys.stdout)) logging.basicConfig( level=logging.INFO, # 使用INFO级别以显示更多信息 format="%(asctime)s - %(levelname)s - %(message)s", handlers=handlers ) logging.info("日志系统初始化成功") except Exception as e: print(f"设置日志系统失败: {str(e)}") def main(): """主函数""" try: print("正在启动程序...") setup_logging() # 检查Python版本 logging.info(f"Python版本: {sys.version}") # 检查工作目录 logging.info(f"当前工作目录: {Path.cwd()}") # 检查模块路径 logging.info("Python路径:") for p in sys.path: logging.info(f" - {p}") logging.info("正在初始化主窗口...") window = MainWindow() logging.info("正在启动主窗口...") window.run() except Exception as e: error_msg = f"程序运行出错: {str(e)}\n{traceback.format_exc()}" logging.error(error_msg) print(error_msg) # 直接打印错误信息 # 保持窗口不关闭 input("按回车键退出...") if __name__ == "__main__": main()