5. SDK打印内容说明
5.1 日志级别
ROS2 使用标准日志系统,支持以下级别:
| 级别 | 说明 | 使用场景 |
|---|---|---|
DEBUG | 调试日志 | 详细调试信息(默认关闭) |
INFO | 信息日志 | 连接状态、正常操作 |
WARN | 警告日志 | 读取失败、使用缓存数据 |
ERROR | 错误日志 | 连接失败、严重错误 |
FATAL | 致命错误 | 程序无法继续运行 |
5.2 典型输出内容
5.2.1 启动时的输出
[INFO] [launch]: All log files can be found below /home/user/.ros/log/2025-01-15-10-30-45-123456
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [psi_glove_node-1]: process started with pid [12345]
[psi_glove_node-1] [INFO] [1705310445.123456789] [psi_glove_node]: PSI 手套节点已启动
[psi_glove_node-1] [INFO] [1705310445.234567890] [psi_glove_node]: 参数配置:
[psi_glove_node-1] [INFO] [1705310445.345678901] [psi_glove_node]: left_port: /dev/ttyACM0
[psi_glove_node-1] [INFO] [1705310445.456789012] [psi_glove_node]: baudrate: 115200
[psi_glove_node-1] [INFO] [1705310445.567890123] [psi_glove_node]: frequency: 100 Hz
[psi_glove_node-1] [INFO] [1705310445.678901234] [psi_glove_node]: 正在连接到左手: /dev/ttyACM0
[psi_glove_node-1] [INFO] [1705310445.789012345] [psi_glove_node]: 左手连接成功
[psi_glove_node-1] [INFO] [1705310445.890123456] [psi_glove_node]: 开始发布数据到 /ruiyan_hand/left/set_angles5.2.2 运行时的数据输出
[psi_glove_node-1] [INFO] [1705310450.123456789] [psi_glove_node]: 发布帧 #100, 频率: 99.8 Hz
[psi_glove_node-1] [INFO] [1705310455.234567890] [psi_glove_node]: 发布帧 #500, 频率: 100.2 Hz
[psi_glove_node-1] [INFO] [1705310460.345678901] [psi_glove_node]: 发布帧 #1000, 频率: 99.9 Hz5.2.3 错误和警告输出
[psi_glove_node-1] [WARN] [1705310465.123456789] [psi_glove_node]: 读取失败,使用缓存数据
[psi_glove_node-1] [WARN] [1705310465.234567890] [psi_glove_node]: 连续失败次数: 3
[psi_glove_node-1] [ERROR] [1705310470.123456789] [psi_glove_node]: 错误: 无法连接到设备
[psi_glove_node-1] [ERROR] [1705310470.234567890] [psi_glove_node]: 请检查:
[psi_glove_node-1] [ERROR] [1705310470.345678901] [psi_glove_node]: - 设备是否已连接
[psi_glove_node-1] [ERROR] [1705310470.456789012] [psi_glove_node]: - 串口路径是否正确
[psi_glove_node-1] [ERROR] [1705310470.567890123] [psi_glove_node]: - 是否有权限访问串口5.2.4 退出时的统计信息
^C[psi_glove_node-1] [INFO] [1705310500.123456789] [psi_glove_node]: 收到退出信号
[psi_glove_node-1] [INFO] [1705310500.234567890] [psi_glove_node]: 统计信息:
[psi_glove_node-1] [INFO] [1705310500.345678901] [psi_glove_node]: 总帧数: 3000
[psi_glove_node-1] [INFO] [1705310500.456789012] [psi_glove_node]: 运行时间: 30.5 秒
[psi_glove_node-1] [INFO] [1705310500.567890123] [psi_glove_node]: 平均帧率: 98.4 Hz
[psi_glove_node-1] [INFO] [1705310500.678901234] [psi_glove_node]: 丢包率: 0.2%
[psi_glove_node-1] [INFO] [1705310500.789012345] [psi_glove_node]: 已断开连接
[INFO] [psi_glove_node-1]: process has finished cleanly [pid 12345]5.3 ROS2 日志工具
5.3.1 查看日志文件
bash
# 查看最新日志目录
ls ~/.ros/log/
# 查看特定节点的日志
cat ~/.ros/log/latest/psi_glove_node/stdout.log
# 实时监控日志
tail -f ~/.ros/log/latest/psi_glove_node/stdout.log5.3.2 调整日志级别
bash
# 启动时设置日志级别为 DEBUG
ros2 launch psi_glove_ros2 psi_glove.launch.py \
--log-level debug
# 运行时修改日志级别
ros2 service call /psi_glove_node/set_logger_level \
rcl_interfaces/srv/SetLoggerLevels \
"{logger_name: 'psi_glove_node', level: 'DEBUG'}"
# 查看当前日志级别
ros2 service call /psi_glove_node/get_logger_levels \
rcl_interfaces/srv/GetLoggerLevels5.3.3 使用 rqt_console
bash
# 安装 rqt_console(如果尚未安装)
sudo apt-get install ros-humble-rqt-console
# 启动图形化日志查看器
rqt_consolerqt_console 界面:
- 可以过滤日志级别
- 可以搜索关键字
- 可以按节点过滤
- 可以保存日志到文件
