欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux glog 0.33版本的简单使用

程序员文章站 2022-06-04 11:33:24
...

最近工作中需要使用日志库记录设备的运行信息,本着不重复造*的原则,选择开源的glog日志库;但是在使用最新的glog库时,发现一些编译问题,网上查询glog的使用说明,基本上都是0.33及以前的版本的使用,此次也仅是记录一下0.33版本的使用,最新的0.50版本的编译问题,待解决后再行记录;
glog的使用步骤如下:
(1)下载glog源码,我这里选择的是0.33版本
https://github.com/google/glog/tags
(2)拷贝到工作目录,并解压,修改以下解压之后文件的执行权限
tar -xzvf glog-0.3.3.tar.gz
chmod 777 -R glog-0.3.3
(3)生成makefile文件,使用make命令生成库文件
./configure
make
(4)将生成的库文件./libs/及/src/glog目录下的头文件拷出来,放到测试代码目录下,测试代码glog.cpp如下:

//glog.cpp
  /********************************************************
Copyright (C), 2016-2018,
FileName: main
Description: Glog使用Demo
********************************************************/
#include <stdio.h>

#include "glog/logging.h"

int main()
{
   //初始化参数
   FLAGS_logtostderr = false;  //TRUE:标准输出,FALSE:文件输出
   FLAGS_alsologtostderr = true;  //除了日志文件之外是否需要标准输出
   FLAGS_colorlogtostderr = false;  //标准输出带颜色
   FLAGS_logbufsecs = 0;   //设置可以缓冲日志的最大秒数,0指实时输出
   FLAGS_max_log_size = 10;  //日志文件大小(单位:MB)
   FLAGS_stop_logging_if_full_disk = true; //磁盘满时是否记录到磁盘
   google::InitGoogleLogging("mqttserver");
   google::SetLogDestination(google::GLOG_INFO,"./test");
   LOG(INFO) << "this is log";
   LOG(WARNING) << "this is warnning";
   LOG(ERROR) << "this is error";
   google::ShutdownGoogleLogging();
}

(5)编译测试代码
g++ glog.cpp -o test -L./ -lglog -I./ -pthread
(6)执行生成的可执行文件test,会发现串口打印的日志信息,并记录到文件test20210823-104604.17274

ubuntu0compile:~/0.33$ ./test 
I0823 10:46:04.743094 17274 glog.cpp:22] this is log
W0823 10:46:04.743214 17274 glog.cpp:23] this is warnning
E0823 10:46:04.743290 17274 glog.cpp:24] this is error
相关标签: linux C++学习