61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
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() |