VWED_server/scripts/test_alert_sync.py

64 lines
2.0 KiB
Python
Raw Normal View History

2025-07-14 10:29:37 +08:00
#!/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()