google轻量级c++日志库glog, caffe中有用到, 现在只学习一些皮毛, 如果以后有用到再学
#include <glog/logging.h>
#include <gflags/gflags.h> //和gflags配套使用可以在命令行输入参数控制日志记录形式
int main(int argc, char** argv)
{
//和gflags配套使用时可用.google::InitGoogleLogging后默认将日志输出到/tmp下,以下设置可以使得也输出到stderr, 还有其他的一些运行参数,用到可以再查
FLAGS_alsologtostderr=1;
gflags::ParseCommandLineFlags(&argc,&argv,true);
google::InitGoogleLogging(argv[0]);
google::InstallFailureSignalHandler();//在程序出现段错误时,会输出一些信息,而不是只输出core dumped. 但是这些信息是什么意思,我也看不懂
LOG(INFO)<<"INFO";
LOG(WARNING)<<"WARNING";
LOG(ERROR)<<"ERROR";
LOG(FATAL)<<"FATAL";//四种严重级别的信息
int my_int=32;
LOG_IF(INFO,my_int>30)<<"too large my_int"; //条件输出
for (int i=0;i<10;i++)
{
LOG_EVERY_N(INFO,3)<<"LOG_EVERY_N(INFO,10),google::COUNTER="<<google::COUNTER<<" i="<<i;
}
CHECK(my_int==32)<<"my_int must be 32";
CHECK_EQ(my_int,32)<<"my_int must be 32";
CHECK_LT(my_int,40)<<"my_int must less than 40";
int a[2];
a[2]=0;//由于前面的InstallFailureSignalHandler,这里会输出段错误的详细信息
google::ShutdownGoogleLogging();
gflags::ShutDownCommandLineFlags();
return 0;
}