下面是关于C++第三方日志库Glog的安装与使用介绍的完整攻略:
安装Glog
系统要求
安装Glog前,你需要拥有以下环境:
- 操作系统:Ubuntu/Debian或CentOS/RHEL
- 编译器:GCC 4.8或更高版本
步骤
- 下载安装依赖库
Glog依赖于很多库,需要先下载安装:
Ubuntu/Debian:
sudo apt-get install autoconf automake libtool make
sudo apt-get install libgtest-dev
sudo apt-get install libssl-dev
CentOS/RHEL:
sudo yum install autoconf automake libtool make
sudo yum install gtest-devel #需要epel源
sudo yum install openssl-devel
- 下载Glog源码
wget https://github.com/google/glog/archive/refs/tags/v0.4.0.tar.gz
tar -zxvf v0.4.0.tar.gz
- 编译安装
cd glog-0.4.0
./configure --prefix=/usr/local/glog
make && sudo make install
- 配置动态链接库
编辑/etc/ld.so.conf,添加以下行:
/usr/local/glog/lib
然后运行命令更新动态链接库:
sudo ldconfig
使用Glog
HelloWorld
先来一个简单的HelloWorld示例:
#include <iostream>
#include <glog/logging.h>
int main(int argc, char** argv) {
google::InitGoogleLogging(argv[0]);
LOG(INFO) << "Hello, world!";
return 0;
}
编译运行:
g++ -I/usr/local/glog/include -L/usr/local/glog/lib -lglog -o hello_world hello_world.cpp
./hello_world
在运行程序时会输出以下日志:
I0520 09:54:13.699283 22929 hello_world.cpp:6] Hello, world!
配置日志级别和输出目录
通过修改配置文件可以配置日志级别和输出目录。创建一个glog.conf文件:
# 日志等级(大于等于该等级的日志才会输出),可选值:INFO、WARNING、ERROR、FATAL
minloglevel = 0
# 日志文件输出目录
log_dir = "./logs"
# 日志文件大小超过max_size时自动切割(默认10MB)
max_size = 100
# 最多保留的日志文件数量(默认方法1000)
logbufsecs = 86400
在程序中引入该配置文件即可:
#include <iostream>
#include <glog/logging.h>
int main(int argc, char** argv) {
FLAGS_log_dir = "./logs";
FLAGS_minloglevel = google::INFO;
google::InitGoogleLogging(argv[0]);
LOG(INFO) << "Hello, world!";
return 0;
}
编译运行:
g++ -I/usr/local/glog/include -L/usr/local/glog/lib -lglog -o hello_world hello_world.cpp
./hello_world --flagfile=glog.conf
这时,日志文件将会输出到./logs目录中,并且只输出INFO及以上级别的日志。
总结
通过上面的介绍,我们可以看到,使用Glog实现日志功能非常简单。只需要几行代码和简单的配置就可以实现日志的输出。Glog还提供了非常多的日志输出格式、日志切割和压缩功能,可以根据需要自由配置。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++第三方日志库Glog的安装与使用介绍 - Python技术站