Glog是google一个开源的C++日志库

1. 下载安装

源码下载地址: https://github.com/google/glog.git

./autogen.sh  //生成configure
./configure    --prefix=DIR    //指定安装目录,如果想交叉编译添加 --host= 
make && make install

2. 实例

#include <glog/logging.h>
int main(int argc, char **argv) {
    google::InitGoogleLogging(argv[0]); // 初始化GLog库
    LOG(ERROR) << "There is error !!!";
    return 0;
}

3. 介绍

  • LOG 级别划分:INFO、WARNING、ERROR、FATAL,共四个级别,FATAL消息会在记录之后,引起程序终止。
  • 日志格式: <program name>.<host name>.<user name>.log.<Severity level>.<date>-<time>.<pid>
  • 日志默认存储目录: /tmp
  • FLAGS_log_dir : 设置存放Log的目录
  • FLAGS_logtostderr : 设置仅在终端显示Log
  • FLAGS_alsologtostderr : 设置记录Log到本地及终端显示
  • FLAGS_stderrthreshold : 大于等于这个级别的Log, 需要同时写到stderr
  • FLAGS_minloglevel : 大于等于这个级别的Log 需要记录到log.
  • 其他特性,例如 条件记录,周期记录,调试,用到再去查就行了

4. 实例

glog_test.cpp

#include "glog/logging.h"

#include <iostream>


int main(int argc, char **argv)
{
    std::string log_dir = "/home/gjhou/github/glog/__install/";
    google::InitGoogleLogging(argv[0]);

    //log_dir = log_dir + argv[0] + '/';
    /*设置log存储位置*/
    FLAGS_log_dir = log_dir;
    std::cout << FLAGS_log_dir << std::endl;
    /*设置只在终端显示Log*/
    /*FLAGS_logtostderr = 1*/

    /*设置记录Log到本地以及终端显示*/
    FLAGS_alsologtostderr = 1;

    //INFO: 0, WARNING: 1, ERROR: 2, FATAL: 3
    //大于等于这个级别的log输出到stderror
    FLAGS_stderrthreshold = 2;

    /*设置需要记录log的级别*/
    /*大于等于这个级别的LOG,记录到文件*/
    FLAGS_minloglevel = 0;

    /*设置最大日起大小(MB)*/
    FLAGS_max_log_size = 50;

    LOG(INFO) <<"hello world.";
    LOG(WARNING)<<"TEST";

    return 0;

}

编译
g++ glog_test.cpp -o glog_test -lglog      //如果库没有安装到系统目录,添加-I,-L路径 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐