引言
ROS 日志 (log) 系统的功能是让程序生成一些日志消息,显示在屏幕上、发送到特定 topic 或者储存在特定 log 文件中,以方便调试、记录、报警等。
ROS 中的日志消息按照严重性由低到高可以分为 5 级:DEBUG、INFO、WARN、ERROR、FATAL。DEBUG 程度最轻,只要程序可以运行就不需要注意,但 ERROR 和 FATAL 出现就表示程序存在着严重问题导致无法运行。
下面简单介绍如何生成和查看日志消息。
生成基本的日志消息
由五个 C++ 宏来产生日志消息,每个宏对应一个级别:
ROS_DEBUG_STREAM(message);
ROS_INFO_STREAM(message);
ROS_WARN_STREAM(message);
ROS_ERROR_STREAM(message);
ROS_FATAL_STREAM(message);
例如编写如下 C++ 程序
source_code.png
编译、执行之后结果如下:
log.png
生成一次性日志消息
ROS 提供了可以仅仅生成一次日志消息的宏: