|
|
|
@ -673,4 +673,65 @@ WebSocket服务器 ↔ WebSocketClient ↔ WebSocketAdapter ↔ WebSocketChannel |
|
|
|
- 适配器被停止(调用 `adapter.stop()`) |
|
|
|
- 任务被取消(`asyncio.CancelledError`) |
|
|
|
|
|
|
|
**结论**: `_heartbeat_loop` 在适配器创建并启动后立即开始运行,按照指定的心跳间隔定期发送心跳消息,直到客户端断开或适配器停止。 |
|
|
|
**结论**: `_heartbeat_loop` 在适配器创建并启动后立即开始运行,按照指定的心跳间隔定期发送心跳消息,直到客户端断开或适配器停止。 |
|
|
|
|
|
|
|
### 日志系统统一更新 |
|
|
|
|
|
|
|
**问题**: 项目中大量文件仍在使用旧的 `get_logger(__name__)` 方式,需要统一更新为新的结构化日志系统 |
|
|
|
|
|
|
|
**解决方案**: 将所有核心模块的日志导入方式从 `get_logger` 更新为 `get_structured_logger` |
|
|
|
|
|
|
|
**更新的文件列表**: |
|
|
|
|
|
|
|
#### 核心模块 (app/core/) |
|
|
|
- `app/core/websocket/adapter.py` - WebSocket适配器 |
|
|
|
- `app/core/websocket/manager.py` - WebSocket管理器 |
|
|
|
- `app/core/websocket/client.py` - WebSocket客户端 |
|
|
|
- `app/core/websocket/channel.py` - WebSocket通道 |
|
|
|
- `app/core/device/manager.py` - 设备管理器 |
|
|
|
- `app/core/device/dispatcher.py` - 设备分发器 |
|
|
|
|
|
|
|
#### API端点 (app/api/v1/endpoints/) |
|
|
|
- `app/api/v1/endpoints/websocket.py` - WebSocket API |
|
|
|
- `app/api/v1/endpoints/devices.py` - 设备API |
|
|
|
- `app/api/v1/endpoints/at.py` - AT命令API |
|
|
|
- `app/api/v1/endpoints/ssh.py` - SSH API |
|
|
|
- `app/api/v1/endpoints/plnk.py` - PLNK API |
|
|
|
|
|
|
|
#### 服务层 (app/services/) |
|
|
|
- `app/services/adb_service.py` - ADB服务 |
|
|
|
- `app/services/device_service.py` - 设备服务 |
|
|
|
- `app/services/at_service.py` - AT服务 |
|
|
|
- `app/services/atx_service.py` - ATX服务 |
|
|
|
- `app/services/plnk_service.py` - PLNK服务 |
|
|
|
- `app/services/ssh_service.py` - SSH服务 |
|
|
|
|
|
|
|
#### 工具类 (app/utils/) |
|
|
|
- `app/utils/api_decorators.py` - API装饰器 |
|
|
|
- `app/utils/adb_utils.py` - ADB工具 |
|
|
|
- `app/utils/tcp_utils.py` - TCP工具 |
|
|
|
- `app/utils/serial_utils.py` - 串口工具 |
|
|
|
|
|
|
|
**更新内容**: |
|
|
|
```python |
|
|
|
# 旧方式 |
|
|
|
from app.utils.log import get_logger |
|
|
|
logger = get_logger(__name__) |
|
|
|
|
|
|
|
# 新方式 |
|
|
|
from app.utils.structured_log import get_structured_logger, LogLevel |
|
|
|
logger = get_structured_logger(__name__, LogLevel.INFO) |
|
|
|
``` |
|
|
|
|
|
|
|
**优势**: |
|
|
|
- ✅ 统一使用结构化日志系统 |
|
|
|
- ✅ 日志文件简化管理(只有 `app.log` 和 `error.log` 两个文件) |
|
|
|
- ✅ 异常日志包含完整堆栈跟踪 |
|
|
|
- ✅ 正常日志不包含堆栈跟踪,减少文件大小 |
|
|
|
- ✅ 按日志级别自动分流 |
|
|
|
- ✅ 保持控制台输出功能 |
|
|
|
|
|
|
|
**注意事项**: |
|
|
|
- 测试文件(test_*.py)暂未更新,因为它们可能不需要结构化日志 |
|
|
|
- 所有核心业务逻辑模块已更新完成 |
|
|
|
- 新的日志系统提供更好的日志管理和分析能力 |