当前位置: 首页 > 工具软件 > Google Glog > 使用案例 >

Google glog

孔梓
2023-12-01

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;
}
 类似资料:

相关阅读

相关文章

相关问答