前言
glog
功能很强大但也很单一,强大是因为它能把一个 log
的过程搞的多姿多彩,可以输出异常,可以终止程序;单一则是指他的功能就是输出日志供测试者与使用者看,说的再好,也只是实现日志记录的功能。如果你想让自己的日志记录规范一些,可以继续往下看下,如果你认为日志记录的格式无所谓的话,那就建议你关掉网页,不要浪费时间了。
一、安装
下载
开源项目,不保密,下载还是很方便的,可以从下面提供的链接中下载,最新版为0.4
已经有一段时间没有更新了,不过没关系,毕竟已经相当完善了:
下载链接:google::glog
编译
在win
下,用CMake-gui
就好,因为是比较小型的库,依赖很少,所以也很简单,如下图所示,只需要将gflag, gtest
去掉就好。
先点击Configure,如果没有出现error
,再点击Generate,如果没啥问题,直接打开VS进行编译即可,编译完成后,主要文件如下所示(在win
下测试,需要将一些文件的路径按照下列位置调整下):
-glog:
-include:
-logging.h
-glog:
-export.h
-log_severity.h
-raw_logging.h
-stl_logging.h
-vlog_is_on.h
-glog.dll
-glog.lib
二、使用
配置
由于是通用的开源库,可以将include
直接添加到VS
默认的路径中:
···
D:\Program Files (x86)\Microsoft Visual Studio 19\VC\Tools\MSVC\14.28.29333\include
···
最简例程
说明:能实现输出至特定文件夹
#include <glog/include/logging.h>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
google::InitGoogleLogging(argv[0]);
google::SetLogDestination(google::GLOG_INFO, "./log/"); // 设置日志路径
FLAGS_stop_logging_if_full_disk = true;
FLAGS_colorlogtostderr = true;
FLAGS_max_log_size = 8;
int num = 10;
LOG(INFO) << "FOUND = " << num;
LOG(WARNING) << "WARNIGN";
google::ShutdownGoogleLogging();
return 0;
}
关注点1:Init*
与Shutdown
要成对,否则可能会造成内存泄露;
关注点2:严重性等级,可分为:INFO, WARNING, ERROR, FATAL