feat: 添加结构化日志系统,更新LLM配置与全部文档
新增: - backend/logger.py — 集中日志模块 (JSON格式 + trace_id + 独立llm.log) - @log_node / @_log_route 装饰器覆盖17个节点和8个路由 改进: - backend/llm.py — _LLMLoggingWrapper 自动记录LLM输入输出 - backend/llm.py — API Key优先读ANTHROPIC_API_KEY,模型名改为MiniMax-M2.7 - backend/llm.py — get_llm() 新增caller参数标识调用来源 - backend/validation.py — 新增验证结果/连接失败日志 - backend/session.py — 新增会话创建/删除日志 - app.py — 新增用户交互日志 (输入/执行/异常/会话操作) - app.py — 提前导入torchvision抑制transformers懒加载报错 - .env.example — 新增LOG_DIR/LOG_LEVEL/ANTHROPIC_API_KEY等配置项 - .gitignore — 新增logs/和db/忽略规则 文档: - ROADMAP.md — 新增阶段四: 可观测性 - README.md — 补充日志架构/LLM配置/项目结构 - CLAUDE.md — 同步最新配置/日志/MAX_RETRY(3) - CODE_GUIDE.md — 新增第15章日志系统,更新架构图/LLM/配置
This commit is contained in:
+34
-1
@@ -70,6 +70,36 @@
|
||||
|
||||
---
|
||||
|
||||
## 阶段四:可观测性
|
||||
|
||||
### 10. 结构化日志系统 ✓
|
||||
- [x] `backend/logger.py` — 集中日志配置模块
|
||||
- [x] JSON 格式化(每行一条记录,便于 jq/pandas 分析)
|
||||
- [x] 请求级 trace_id(contextvars 自动传播,一次用户请求贯穿全链路)
|
||||
- [x] 独立 LLM 日志文件 `logs/llm.log`(记录完整 prompt 和 response)
|
||||
- [x] 时区:UTC+8(中国时区)
|
||||
- [x] 日志轮转(单文件 10MB,保留 5 备份)
|
||||
- [x] `backend/llm.py` — `_LLMLoggingWrapper` 包装所有 LLM 后端
|
||||
- [x] 记录每次 invoke/stream 的请求 prompt、响应内容、耗时、模型、调用来源
|
||||
- [x] 异常时也记录完整 prompt
|
||||
- [x] `agent/nodes.py` — `@log_node` 装饰器覆盖 17 个节点
|
||||
- [x] 入口/出口/异常三个阶段的日志
|
||||
- [x] 自动记录 state 关键字段摘要(session_id、intent、status、jrxml_length 等)
|
||||
- [x] 每个节点耗时(duration_ms)
|
||||
- [x] `agent/graph.py` — `@_log_route` 装饰器覆盖 8 个路由函数
|
||||
- [x] 记录每次路由决策(来源 → 目标)
|
||||
- [x] `app.py` — 用户交互日志
|
||||
- [x] 收到用户输入(含上传文件信息)
|
||||
- [x] 代理执行开始/完成(含最终 intent、status、jrxml_length)
|
||||
- [x] 异常时记录错误详情
|
||||
- [x] 会话新建/切换/删除操作日志
|
||||
- [x] `backend/session.py` — 会话创建/删除日志
|
||||
- [x] `backend/validation.py` — 验证完成/连接失败日志
|
||||
- [x] `.env.example` — 新增 `LOG_DIR`、`LOG_LEVEL` 配置项
|
||||
- [x] `.gitignore` — 新增 `logs/` 忽略规则
|
||||
|
||||
---
|
||||
|
||||
## 执行顺序建议
|
||||
|
||||
```
|
||||
@@ -87,6 +117,9 @@
|
||||
│
|
||||
▼
|
||||
9. Ctrl+C 修复
|
||||
│
|
||||
▼
|
||||
10. 结构化日志系统
|
||||
```
|
||||
|
||||
阶段一立即可做,无外部依赖。阶段二是主要工作量。阶段三是收尾。
|
||||
阶段一立即可做,无外部依赖。阶段二是主要工作量。阶段三是收尾。阶段四是可观测性基础。
|
||||
|
||||
Reference in New Issue
Block a user