4.7 日志相关API

C++部分

cyber 的日志是基于 glog 的。

使用日志需要倒入相关头文件:

#include "cyber/common/log.h"
#include "cyber/init.h"

不过在#include cyber/cyber.h时,该头文件本身已经包含了上述两个头文件,所以无需自己显示声明了。

日志初始化:

apollo::cyber::cyber::Init(argv[0]);

该实现会初始化日志模块(PS:HelloWorld案例中,没有执行初始化语句,虽然日志输出了,不过控制台给出了警告)。

日志API:

AINFO << "INFO log";
AWARN << "WARNlog";
AERROR << "ERROR log";
AFATAL << "FATAL log";

输出一些常见级别的日志信息。

日志配置

在 cyber 中提供了日志输出的相关配置文件,该文件是 cyber/setup.bash,打开文件,开发者可自定义内容如下:

export GLOG_log_dir=/apollo/data/log
export GLOG_alsologtostderr=0
export GLOG_colorlogtostderr=1
export GLOG_minloglevel=0

GLOG_log_dir: 输出日志的保存目录;

GLOG_alsologtostderr:是否输出在控制台,0为 false,1为true;

GLOG_colorlogtostderr:不同级别的日志是否以不同颜色区分,0统一颜色,1设置不同颜色(info 为白色,warning为黄色,error与fatal为红色)。

GLOG_minloglevel:输出日志的最低级别,取值为[0,3],超出此范围会编译失败。

  • 0:输出全部;

  • 1:输出警告以及以上;

  • 2:输出error与fatal;

  • 3:之输出fatal。

默认情况下,同一模块的不同级别日志写入到统一文件。


results matching ""

    No results matching ""