编译
cmake编译需要使用3.0以上版本,编译成功之后会生成libglog.a库,使用的时候包含头文件 #include<glog/logging.h>就可以了
使用简介:
Glog通过google::InitGoogleLogging( “flkcdp”); 进行初始化。
glog生成的日志文件名称类似于下面 flkcdp.ubuntu.root.log.INFO.20180528-003604.84324,具体含义对应 "<programname>.<hostname>.<user name>.log.<severitylevel>.<date>.<time>.<pid>"
flkcdp与上面初始化函数里面的字符串对应,默认情况下日志文件会保存在/tmp 目录下,也可以通过 FLAGS_log_dir ="./"; 来定义生成文件位置。
Glog可以通过设置 FLAGS_logtostderr = 1; 让输出的日志到终端,设置为0的话就会输出到文件。
基本用法 LOG(INFO)<< "Found " << num_cookies << " cookies"; LOG有FATAL, ERROR,WARNING, 和 INFO 几个等级,默认情况下,除日志文件外,glog还将严重级别为ERROR或FATAL的日志消息复制到标准错误(stderr)。
条件日志用法
LOG_IF(INFO,num_cookies > 10) << "Got lots of cookies"; 条件为真时打印日志
LOG_EVERY_N(INFO,10) << "Got the " << google::COUNTER << "thcookie"; 每隔10次打印日志
LOG_IF_EVERY_N(INFO,(size > 1024), 10) << "Got the " << google::COUNTER<<"th big cookie"; 条件和循环的组合用法
DEBUG模式的支持,DLOG(INFO)在DEBUG情况下才会输出,release模式下不会输出日志,例如 DLOG(INFO)<< "Found cookies";
DLOG_IF(INFO,num_cookies > 10) << "Got lots of cookies";
DLOG_EVERY_N(INFO,10) << "Got the " << google::COUNTER << "thcookie";
自定义模式VLOG
VLOG(1) << "I'm printed when you run the program with--v=1 or higher";
VLOG(2) << "I'm printed when you run the program with --v=2or higher";
可以通过FLAGS_v = 1;来设置自定义的等级,当设置为1时,小于等于1的才会输出,大于1的日志不会输出