zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ROS机器人程序设计(原书第2版)3.2.1 输出日志信息

2023-03-14 10:21:29 时间

3.2.1 输出日志信息

ROS自带了大量的能够输出日志信息的函数和宏。它提供了如信息(或日志)级别、条件触发消息和STL的流接口等诸多方式。从简单的开始,用C++代码输出一个消息信息:

 

为了获取日志记录的函数和宏,这个头文件足够了:

 

这包括了以下头文件:

 

前面的消息处理程序运行的结果如下所示:

 

所有输出的信息都附带其级别和当前时间戳(因为这个原因你的输出可能有所不同),这两个值放在实际信息之前的方括号中。时间戳以公历时间计时,代表着自1970年1月1日以来的秒和纳秒计数。于是我们在新一行输出了信息。

此函数允许以和C语言中的printf函数相同的方式增加参数。例如,可以按照下面代码输出变量val对应的浮点数值:

 

此外,C++STL流被*_STREAM函数支持。因此,前面的指令相当于使用流:

 

请注意,我们没有指定任何流,因为API负责这些,通过重定向到cout/cerr、一个文件或两者。