import asyncio import sys from loguru import logger import os # 配置日志35 from config.settings import LOG_CONFIG logger.remove() # 移除默认处理器 logger.add( sys.stdout, level=LOG_CONFIG['level'], format=LOG_CONFIG['format'] ) logger.add( "logs/sync_{time:YYYY-MM-DD}.log", rotation=LOG_CONFIG['rotation'], retention=LOG_CONFIG['retention'], level=LOG_CONFIG['level'], format=LOG_CONFIG['format'] ) async def main(): """主程序""" from sync.manager import SyncManager logger.info("=== 交易所数据同步服务启动 ===") logger.info(f"工作目录: {os.getcwd()}") try: manager = SyncManager() await manager.start() except KeyboardInterrupt: logger.info("用户中断") except Exception as e: logger.error(f"服务运行异常: {e}") import traceback logger.error(traceback.format_exc()) finally: logger.info("=== 交易所数据同步服务停止 ===") if __name__ == "__main__": try: asyncio.run(main()) except KeyboardInterrupt: logger.info("程序被用户中断") except Exception as e: logger.error(f"程序异常: {e}") import traceback logger.error(traceback.format_exc()) sys.exit(1)