第 14.5 節
優化日誌
0瀏覽次數0訪問次數--跳出率--平均停留
在實際應用上,我們很少使用RCLCPP_INFO,原因是打印數據開銷太大,像Nvidia Jetson Xavier等工控機設備可能喫不消.
像下方這個圖就顯示了在樹莓派4b下打印的開銷:

由於我們想避免那麼大的開銷,又想在必要時查看打印的數據進行調試,所以我們常採用RCLCPP_DEBUG來打印數據,在必要時期纔打印數據.
RCLCPP_DEBUG 的核心作用
- 調試專用 :僅在調試階段輸出信息,生產環境自動靜默
- 性能優化 :通過編譯選項完全移除調試代碼,零運行時開銷
- 分級控制 :與其他日誌級別(INFO/WARN/ERROR)解耦

打印出來rclcpp_debug的方式:
方式一:
ros2 run <package_name> <node_name> --ros-args --log-level debug
方式二:
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
return LaunchDescription([
Node(
package='my_package',
executable='my_node',
name='my_node',
output='screen',
parameters=[],
arguments=['--ros-args', '--log-level', 'debug']
)
])
/opt/ros/humble/include/rcutils/rcutils/logging.h定義:
