diff --git a/app/core/websocket/adapter.py b/app/core/websocket/adapter.py index cc5127e..5e81f63 100644 --- a/app/core/websocket/adapter.py +++ b/app/core/websocket/adapter.py @@ -68,6 +68,7 @@ class WebSocketAdapter: async def _send_loop(self): """发送循环:优先处理优先级Channel,其次处理普通出站Channel""" + logger.debug(f"发送循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name})") try: # 优先级Channel命名约定:f"{outbound}_priority";不存在则仅用普通通道 priority_channel_name = f"{self.outbound_channel.name}_priority" @@ -166,6 +167,7 @@ class WebSocketAdapter: async def _heartbeat_loop(self): """心跳循环:以优先级消息写入,并由发送循环优先处理""" + logger.debug(f"心跳循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name}) 间隔:{self.heartbeat_interval}秒") try: priority_channel_name = f"{self.outbound_channel.name}_priority" from app.core.websocket.manager import websocket_manager diff --git a/modify.md b/modify.md index 8305d08..6d43ece 100644 --- a/modify.md +++ b/modify.md @@ -2,6 +2,37 @@ ## 2025-08-11 +### WebSocket适配器方法跟踪日志 +**问题**:需要为 `_heartbeat_loop` 和 `_send_loop` 方法添加入口跟踪日志,便于调试和监控 + +**解决方案**:在方法入口处添加简洁的debug级别日志 + +**文件变更**: +- 更新 `app/core/websocket/adapter.py` - 为关键方法添加入口跟踪日志 + +**修改内容**: +```python +async def _send_loop(self): + """发送循环:优先处理优先级Channel,其次处理普通出站Channel""" + logger.debug(f"发送循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name})") + try: + # ... 现有代码 ... + +async def _heartbeat_loop(self): + """心跳循环:以优先级消息写入,并由发送循环优先处理""" + logger.debug(f"心跳循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name}) 间隔:{self.heartbeat_interval}秒") + try: + # ... 现有代码 ... +``` + +**优化效果**: +- ✅ 便于跟踪WebSocket适配器的生命周期 +- ✅ 提供关键方法的执行状态信息 +- ✅ 日志简洁,不会产生过多输出 +- ✅ 包含客户端名称和通道信息,便于定位问题 + +### 应用启动优化 - 移除不必要的WebSocket Channel初始化 + ### 应用启动优化 - 移除不必要的WebSocket Channel初始化 **问题**:`startup_event` 中初始化默认WebSocket Channels是不必要的,因为: 1. Channels是在需要时才创建的(按需创建)