#!/usr/bin/env python # -*- coding: utf-8 -*- """ 告警同步功能测试脚本 """ import sys import os import time # 添加项目根目录到Python路径 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from utils.logger import get_logger def test_alert_sync(): """测试告警同步功能""" print("开始测试告警同步功能...") # 创建不同模块的logger task_logger = get_logger("services.task_service") system_logger = get_logger("system.database") robot_logger = get_logger("services.robot_scheduler") print("\n1. 测试任务告警...") task_logger.warning("任务执行超时警告") task_logger.error("任务执行失败", exc_info=False) task_logger.critical("任务调度器严重错误", exc_info=False) print("\n2. 测试系统告警...") system_logger.warning("数据库连接不稳定") system_logger.error("系统配置错误", exc_info=False) print("\n3. 测试机器人告警...") robot_logger.warning("机器人电池电量低") robot_logger.error("机器人失去控制权", exc_info=False) print("\n4. 测试异常告警...") try: 1 / 0 except Exception as e: task_logger.exception("发生了一个除零异常") print("\n5. 测试INFO级别(不应该同步)...") task_logger.info("这是一条普通信息,不应该同步到主系统") print("\n测试完成,请检查主系统是否收到告警信息") print("等待5秒让异步处理完成...") time.sleep(5) # 获取告警同步服务状态 from utils.alert_sync import get_alert_sync_service service = get_alert_sync_service() print(f"\n告警同步服务状态:") print(f"- 启用状态: {service.enabled}") print(f"- 同步URL: {service.sync_url}") print(f"- 队列大小: {service.alert_queue.qsize()}") print(f"- 最小同步级别: {service.min_level}") if __name__ == "__main__": test_alert_sync()