ROS日志信息

输出调试(日志)信息 ROS自带了大量的能够输出调试信息的函数和宏,包括错误,警告等.

日志根据严重程度分为五个等级:DEBUG, INFO, WARN, ERROR, FATAL.

它提供了如信息级别,条件触发消息和STL的流接口等方式。

(1)调试级别c和c++用法 其中 ROS_INFO(“INFO message %d”,k),相当于c中的printf; ROS_INFO_STREAM ( "INFO message." <<k);相当于c++中的cout;

而调试(日志信息) 的显示级别有5种:DEBUG、INFO、WARN、ERROR、FATAL

如:

ROS_DEBUG_STREAM(message);
ROS_INFO_STREAM(message);
ROS_WARN_STREAM(message);
ROS_ERROR_STREAM(message);
ROS_FATAL_STREAM(message);

(2)为调试信息命名ROS_INFO_STREAM_NAMED( “named_msg”, “INFO named message.” );

表示为这段信息命名,为了更容易知道这段信息来自那段代码.

(3)设置显示(打印)频率

ROS_INFO_STREAM_THROTTLE( 2, "INFO throttle message." );

THROTTLE表示节流的意思,以上代码运行两次输出一次INFO throttle message.

如:

ROS_DEBUG_STREAM_THROTTLE(interval,message);

ROS_INFO_STREAM_THROTTLE(interval,message);

ROS_WARN_STREAM_THROTTLE(interval,message);

ROS_ERROR_STREAM_THROTTLE(interval,messge);

ROS_FATAL_STREAM_THROTTLE(interval,message);

(4)单次显示 ros中可以在循环中让信息只输出一次(一次性打印)

在循环中如果重复调用时仅第一次被打印

ROS_DEBUG_STREAM_ONCE(message);
ROS_INFO_STREAM_ONCE (message);
ROS_WARN_STREAM_ONCE (message);
ROS_ERROR_STREAM_ONCE (message);
ROS_FATAL_STREAM_ONCE (message);


版权声明:本文为weixin_45868890原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。