"""主程序入口"""
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='{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}'
)
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()