第 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定义:
