66 lines
1.4 KiB
Python
66 lines
1.4 KiB
Python
"""主程序入口"""
|
|
import sys
|
|
import os
|
|
from loguru import logger
|
|
from PyQt6.QtWidgets import QApplication
|
|
from gui import MainWindow
|
|
|
|
|
|
def setup_logging():
|
|
"""设置日志"""
|
|
# 创建logs目录
|
|
os.makedirs('logs', exist_ok=True)
|
|
|
|
# 配置loguru
|
|
logger.remove() # 移除默认处理器
|
|
|
|
# 文件日志
|
|
logger.add(
|
|
'logs/whereami.log',
|
|
rotation='10 MB',
|
|
retention='5 days',
|
|
encoding='utf-8',
|
|
level='INFO'
|
|
)
|
|
|
|
# 控制台日志
|
|
logger.add(
|
|
sys.stderr,
|
|
level='INFO',
|
|
format='<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>'
|
|
)
|
|
|
|
|
|
def main():
|
|
"""主函数"""
|
|
# 设置日志
|
|
setup_logging()
|
|
|
|
logger.info("=" * 60)
|
|
logger.info("WhereAmI - 多协议轮转代理工具")
|
|
logger.info("=" * 60)
|
|
|
|
try:
|
|
# 创建应用
|
|
app = QApplication(sys.argv)
|
|
|
|
# 设置应用样式
|
|
app.setStyle('Fusion')
|
|
|
|
# 创建主窗口
|
|
window = MainWindow('config.yaml')
|
|
window.show()
|
|
|
|
logger.info("GUI界面已启动")
|
|
|
|
# 运行应用
|
|
sys.exit(app.exec())
|
|
|
|
except Exception as e:
|
|
logger.error(f"程序异常退出: {str(e)}", exc_info=True)
|
|
sys.exit(1)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|