## 查看日志的方法

### 方法1：使用专用脚本（推荐）

运行以下命令查看 Switch 节点的详细日志：

cd /home/renjianbo/aiagent

python3 check_switch_logs.py

该脚本会显示：

- Switch 节点的匹配过程（字段值、匹配的分支）

- 分支过滤过程（保留/移除的边）

- 意图理解节点的输出

- 所有节点的输出摘要

### 方法2：查看所有执行日志

运行以下命令查看完整的执行日志：

cd /home/renjianbo/aiagent

python3 check_execution_logs.py

### 方法3：查看后端控制台日志

如果后端服务正在运行，日志会直接输出到控制台。查找包含 [rjb] Switch 的日志行。

### 方法4：通过 API 查看

可以通过 API 获取执行日志：

# 获取执行ID（从最近的执行记录中）

# 然后访问：

GET /api/v1/execution_logs/executions/{execution_id}?node_id=switch-intent

## 修复内容

1. 日志保存到数据库：Switch 节点的日志现在会通过 self.logger 保存到数据库的 execution_logs 表

2. 更详细的日志信息：

- 匹配阶段：字段名、字段值、匹配的分支、处理后的输入数据

- 过滤阶段：过滤前后的边数、每条边的处理结果

1. 控制台日志：同时输出到控制台，便于实时查看

## 测试步骤

1. 执行一次 Agent 测试（发送一条消息）

2. 运行日志查看脚本：
    
       python3 check_switch_logs.py
    

3. 查看输出，重点关注：

- Switch节点匹配：检查字段值是否正确提取

- Switch节点过滤后：检查是否只保留了一条边

## 预期输出示例

Switch节点相关日志:

[1] 16:07:23.123 [INFO]

    节点: switch-intent (switch)

    消息: Switch节点匹配: field=intent, field_value=greeting, matched_case=greeting-handle

    数据:

      {

        "field": "intent",

        "field_value": "greeting",

        "matched_case": "greeting-handle",

        ...

      }

[2] 16:07:23.125 [INFO]

    节点: switch-intent (switch)

    消息: Switch节点分支过滤: branch=greeting-handle, 保留1条边，移除5条边

    数据:

      {

        "branch": "greeting-handle",

        "edges_kept": 1,

        "edges_removed": 5

      }

如果仍有问题，请运行 check_switch_logs.py 并分享输出，我可以进一步分析。