mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-12 11:10:19 +08:00
docs: update logging documentation to clarify log file paths
This commit is contained in:
@@ -252,7 +252,7 @@ The following are the launch parameters available:
|
||||
* Shared SDK and ROS node log level. By default, only current device status is printed; set it to `debug` for more debug logs. Optional values: `none`, `debug`, `info`, `warn`, `error`, `fatal`.
|
||||
* SDK logs and crash files are saved to `~/.ros/Log` by default. ROS logs remain in `~/.ros/log`.
|
||||
* **`log_file_name`**
|
||||
* Saved SDK log file name. Effective when `log_level` is `debug`.
|
||||
* Saved SDK log file name. Effective when `log_level` is `debug`; the actual path is usually `~/.ros/Log/<camera_name>/<log_file_name>`.
|
||||
* **`enable_firmware_log`**
|
||||
* Enable firmware logging. This switch is independent from `enable_heartbeat` and can be enabled only when firmware logs are needed.
|
||||
* **`diagnostic_period`**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
### Unexpected Crash
|
||||
|
||||
If the camera node crashes unexpectedly, it will generate a crash log in the current running directory: `Log/camera_crash_stack_trace_xx.log`. Please send this log to the support team or submit it to a GitHub issue for further assistance.
|
||||
If the camera node crashes unexpectedly, it will generate a crash log under `~/.ros/Log/<camera_name>/`, with a file name similar to `camera_name_crash_stack_trace_xx.log`. Please send this log to the support team or submit it to a GitHub issue for further assistance.
|
||||
|
||||
### No Data Stream from Multiple Cameras
|
||||
|
||||
@@ -29,8 +29,10 @@ If the camera node crashes unexpectedly, it will generate a crash log in the cur
|
||||
|
||||
**1. SDK debug logs**
|
||||
|
||||
Set the launch parameter `log_level` to `debug`. After running, the SDK will generate log files in the `Log/` folder under the current working directory. If you want a more recognizable file name for this test, you can set the parameter `log_file_name`.
|
||||
Set the launch parameter `log_level` to `debug`. After running, the SDK will generate log files under `~/.ros/Log/<camera_name>/`. If you want a more recognizable file name for this test, you can set the parameter `log_file_name`.
|
||||
|
||||
- The actual SDK log file path is usually `~/.ros/Log/<camera_name>/<log_file_name>`.
|
||||
- In multi-camera setups, SDK logs are separated by `camera_name`, for example `~/.ros/Log/camera_01/camera_01.log` and `~/.ros/Log/camera_02/camera_02.log`.
|
||||
- SDK logs are appended to the same file: multiple launches will continue writing into the same log file.
|
||||
- Recommendation: before packaging logs to send to technical support, delete old log files, then reproduce the issue and collect new logs. This keeps the logs cleaner and makes troubleshooting more accurate.
|
||||
|
||||
@@ -39,21 +41,14 @@ Set the launch parameter `log_level` to `debug`. After running, the SDK will gen
|
||||
In the launch file, set the node (or composable node container) parameter `output` to `"log"` to save ROS 2 logs locally.
|
||||
|
||||
- After setting `output="log"`, ROS 2 logs will be stored in the `~/.ros/log/` directory.
|
||||
- When submitting an issue, please package both the SDK logs under the `Log/` directory and the corresponding ROS 2 logs under `~/.ros/log/` for the same time period.
|
||||
|
||||
**3. Example Tutorial**
|
||||
|
||||
Run in the terminal
|
||||
```
|
||||
ros2 launch orbbec_camera gemini_330_series.launch.py log_level:=debug
|
||||
```
|
||||

|
||||
|
||||
You can find the SDK logs in the Log folder within the current working directory.
|
||||

|
||||
|
||||
ros2 log is enabled by default and can be viewed under `~/.ros/log/`
|
||||

|
||||
- Each `ros2 launch` run creates a timestamped directory under `~/.ros/log/` containing `launch.log`, and also generates process log files such as `component_container_<pid>_<timestamp>.log`.
|
||||
- The difference is:
|
||||
- `launch.log` contains the merged output from all camera containers.
|
||||
- `component_container_<pid>_<timestamp>.log` records the runtime output of a specific container process.
|
||||
- In multi-camera setups, `component_container_<pid>_<timestamp>.log` is separated by container process.
|
||||
- In one-camera-per-container multi-camera launches, you can treat it as “one camera corresponds to one `component_container_*.log`”. If multiple cameras are loaded into the same container, that `component_container_*.log` will also contain logs from multiple cameras.
|
||||
- To identify the exact camera, rely on the namespace or node name in the log content, for example `camera_01.camera_01` and `camera_02.camera_02`.
|
||||
- When submitting an issue, please package both the SDK logs under `~/.ros/Log/` and the corresponding ROS 2 logs under `~/.ros/log/` for the same time period.
|
||||
|
||||
### Why Are There So Many Launch Files?
|
||||
|
||||
@@ -139,5 +134,3 @@ If the above methods still cannot solve the problem, please contact our company
|
||||
* `Unit`: µs
|
||||
|
||||
If `software_trigger_period` is set too small, the trigger frequency will be limited, resulting in frame loss.
|
||||
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
* SDK和ROS节点日志级别。默认只输出设备当前状态;需要更多调试信息时可设置为 `debug`。可选值:`none`、`debug`、`info`、`warn`、`error`、`fatal`。
|
||||
* SDK日志和崩溃文件默认保存在 `~/.ros/Log`,ROS日志仍保存在 `~/.ros/log`。
|
||||
* **`log_file_name`**
|
||||
* 保存的SDK日志文件名。当`log_level`为`debug`时生效。
|
||||
* 保存的SDK日志文件名。当`log_level`为`debug`时生效;实际路径通常为 `~/.ros/Log/<camera_name>/<log_file_name>`。
|
||||
* **`enable_firmware_log`**
|
||||
* 启用固件日志。该开关与 `enable_heartbeat` 解耦,适合在需要抓取固件日志时单独开启。
|
||||
* **`diagnostic_period`**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
### 意外崩溃
|
||||
|
||||
如果相机节点意外崩溃,它将在当前运行目录中生成崩溃日志:`Log/camera_crash_stack_trace_xx.log`。请将此日志发送给支持团队或提交到GitHub issue以获得进一步帮助。
|
||||
如果相机节点意外崩溃,它会在 `~/.ros/Log/<camera_name>/` 目录下生成崩溃日志,文件名类似 `camera_name_crash_stack_trace_xx.log`。请将此日志发送给支持团队或提交到 GitHub issue 以获得进一步帮助。
|
||||
|
||||
### 多相机无数据流
|
||||
|
||||
@@ -29,8 +29,10 @@
|
||||
|
||||
**1. SDK debug 日志**
|
||||
|
||||
将 launch 参数 `log_level` 设为 `debug` 运行后,会在当前工作目录下的 `Log/` 文件夹中生成 SDK 日志文件。如果需要为本次测试指定一个更易识别的日志文件名,可以修改参数 `log_file_name`。
|
||||
将 launch 参数 `log_level` 设为 `debug` 运行后,会在 `~/.ros/Log/<camera_name>/` 目录下生成 SDK 日志文件。如果需要为本次测试指定一个更易识别的日志文件名,可以修改参数 `log_file_name`。
|
||||
|
||||
- `log_file_name` 对应的实际文件路径通常为 `~/.ros/Log/<camera_name>/<log_file_name>`。
|
||||
- 多相机场景下,SDK 日志按 `camera_name` 分目录保存,例如 `~/.ros/Log/camera_01/camera_01.log`、`~/.ros/Log/camera_02/camera_02.log`。
|
||||
- SDK 日志是追加写入的:多次启动会在同一个文件里不断累积日志。
|
||||
- 建议:在准备打包日志发给技术支持前,先删除旧的日志文件,然后重新复现问题并采集新的日志,这样日志更干净、定位更准确。
|
||||
|
||||
@@ -39,21 +41,14 @@
|
||||
在 launch 文件中,将节点(或可组合节点容器)的 `output` 参数设为 `"log"`,即可将 ROS2 日志保存到本地:
|
||||
|
||||
- 设置为 `output="log"` 后,ROS2 日志将保存在 `~/.ros/log/` 目录下。
|
||||
- 如需提交问题,请同时打包 `Log/` 目录下的 SDK 日志和 `~/.ros/log/` 下对应时间的 ROS2 日志,一并提供。
|
||||
|
||||
**3. 示例**
|
||||
|
||||
在终端运行
|
||||
```
|
||||
ros2 launch orbbec_camera gemini_330_series.launch.py log_level:=debug
|
||||
```
|
||||

|
||||
|
||||
即可在当前工作目录下的 Log 文件夹下查看 SDK 日志
|
||||

|
||||
|
||||
ros2 log 默认开启,可在 `~/.ros/log/` 下查看
|
||||

|
||||
- 每次 `ros2 launch` 会在 `~/.ros/log/` 下生成一个时间戳目录,里面有 `launch.log`;同时还会生成 `component_container_<pid>_<timestamp>.log` 一类的进程日志文件。
|
||||
- 二者区别如下:
|
||||
- `launch.log` 包含所有相机容器输出汇总后的日志。
|
||||
- `component_container_<pid>_<timestamp>.log` 记录的是某个容器进程本身的运行输出。
|
||||
- 多相机场景下,`component_container_<pid>_<timestamp>.log` 是按“容器进程”区分的。
|
||||
- 在一机一容器的多相机 launch 中,可以看做“一路相机对应一个 `component_container_*.log`”;如果你把多路相机加载到同一个容器里,那么同一个 `component_container_*.log` 里也就包含多路相机日志。
|
||||
- 区分具体是哪一路相机时,请以日志内容中的命名空间或节点名为准,例如 `camera_01.camera_01`、`camera_02.camera_02`。
|
||||
- 如需提交问题,请同时打包 `~/.ros/Log/` 目录下的 SDK 日志和 `~/.ros/log/` 下对应时间的 ROS2 日志,一并提供。
|
||||
|
||||
### 为什么有这么多启动文件?
|
||||
|
||||
@@ -141,5 +136,3 @@ ros2 launch orbbec_camera femto_bolt.launch.py serial_number:=CL8H741005J
|
||||
* `单位`:µs
|
||||
|
||||
若 `software_trigger_period` 设置过小,将导致触发频率受限,从而丢帧。
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user