Glog 使用简介

编译

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的日志不会输出


阅读更多

没有更多推荐了,返回首页