3.2.1 输出日志信息
ROS自带了大量的能够输出日志信息的函数和宏。它提供了如信息(或日志)级别、条件触发消息和STL的流接口等诸多方式。从简单的开始,用C++代码输出一个消息信息:
为了获取日志记录的函数和宏,这个头文件足够了:
这包括了以下头文件:
前面的消息处理程序运行的结果如下所示:
所有输出的信息都附带其级别和当前时间戳(因为这个原因你的输出可能有所不同),这两个值放在实际信息之前的方括号中。时间戳以公历时间计时,代表着自1970年1月1日以来的秒和纳秒计数。于是我们在新一行输出了信息。
此函数允许以和C语言中的printf函数相同的方式增加参数。例如,可以按照下面代码输出变量val对应的浮点数值:
此外,C++STL流被*_STREAM函数支持。因此,前面的指令相当于使用流:
请注意,我们没有指定任何流,因为API负责这些,通过重定向到cout/cerr、一个文件或两者。