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