glog下载、安装、使用

2018-08-14 14:52:19 OrangeCat_ 阅读数 1680

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/Pig_Pig_Bang/article/details/81632962

简介

  • 最近在学习在程序中加入日志记录系统,通过搜索资料发现了glog这么一个由google开源提供的轻量级日志库,于是便开始了入坑的过程,以下是我学习glog的一点总结

glog下载

首先我们要做的就是下载glog的源码

1)直接点击github链接《Github/glog源码》进入gibhub页面

2)然后点击Clone or download-------->Download Zip

Github源码下载

3)解压glog-master,目录结构如下图,可以发现目录下有个CMakeLists.txt。所以接下来我们会用到cmake这个工具

glog-master目录结构

4)到cmake的官方链接《cmake下载地址》下载cmake。我选择的是<Windows win32-x86 ZIP>

cmake下载

5)解压cmake安装包之后,我们要做的就是把<cmake/bin>加入环境变量,右键我的电脑-->高级系统设置-->环境变量。

6)按下Win+R,然后输入 cmake-gui,可以看到如下窗口

7)点击Configure按扭,选择Visual Studio 版本,会弹出一些红色的选项,做一下简单的修改就行.

记住安装路径不要选择系统目录,不然后续操作会因为没有管理员权限失败

8)点击Generate、Open Project即可打开解决方案

9)在刚刚的CMAKE_INSTALL_PREFIX路径中可以看到生成的glog静态库文件

至些glog静态库生成完成,接下来就是一个简单的例子去使用glog了。


老板,来个粟子吧

下面开始举个例子,直接用VS创建一个控制台应用程序,然后做如下配置

  • 右键项目属性
  • 配置属性-->C/C++-->常规-->附加包含目录-->添加 <glog安装路径>/include
  • 配置属性-->链接器-->常规-->附加库目录-->添加<glog安装路径>/lib
  • 配置属性-->链接器-->输入-->附加依赖项-->添加glogd.lib(如果你的程序是Release版本就写glog.lib)

之后就可以写一个最简单的glog代码示例

 
  1. // USEglog.cpp : 定义控制台应用程序的入口点。

  2. //

  3. #include "stdafx.h"

  4. #define GOOGLE_GLOG_DLL_DECL // 由于我们使用的glog的静态库,一定要定义这个宏

  5. #include "glog/logging.h"

  6. int main(int argc, char* argv[])

  7. {

  8. google::InitGoogleLogging(argv[0]); // 全局初始化glog

  9. google::SetStderrLogging(google::INFO); // 设置glog的输出级别,这里的含义是输出INFO级别以上的信息

  10. LOG(INFO) << "This is my first glog INFO "; // 像C++标准流一样去使用就可以了,这时把这条信息定义为INFO级别

  11. google::ShutdownGoogleLogging(); // 全局关闭glog

  12. return 0;

  13. }

输出如下图

那我们这做的和cout << xxxx 有区别呢?是的没啥区别,我就是在坑大家!!!!开个玩笑,看接下来的配置


修改glog的一些设置

1)修改我们样例程序的代码

 
  1. // USEglog.cpp : 定义控制台应用程序的入口点。

  2. //

  3. #include "stdafx.h"

  4. #define GOOGLE_GLOG_DLL_DECL // 由于我们使用的glog的静态库,一定要定义这个宏

  5. #include "glog/logging.h"

  6. int main(int argc, char* argv[])

  7. {

  8. google::InitGoogleLogging(argv[0]); // 全局初始化glog

  9. google::SetStderrLogging(google::WARNING); // 设置glog的输出级别,这里的含义是输出WARNING级别以上的信息

  10. LOG(INFO) << "This is my first glog INFO "; // 像C++标准流一样去使用就可以了,把这条信息定义为INFO级别

  11. LOG(WARNING) << "This is my first glog WARNING"; // 像C++标准流一样去使用就可以了,把这条信息定义为WARNING级别

  12. LOG(ERROR) << "This is my first glog ERROR"; // 像C++标准流一样去使用就可以了,把这条信息定义为ERROR级别

  13. google::ShutdownGoogleLogging(); // 全局关闭glog

  14. return 0;

  15. }

2)输出如下,可以看到WARNING和ERROR级别的信息,

3)但是INFO级别的信息我们没有看到,这是因为我在代码中有这么一行设置。

google::SetStderrLogging(google::WARNING);       // 设置glog的输出级别,这里的含义是输出WARNING级别以上的信息

glog一共有4个级别的信息可以定义

  • INFO
  • WARNING
  • ERROR
  • FATAL(这个级别的输出会导致程序强制中断)

4)增加一行代码,可以在终端区分颜色

    FLAGS_colorlogtostderr = true;                   // 开启终端颜色区分


将glog日志信息写入到磁盘log文件中

1)修改样例程序代码如下

 
  1. // USEglog.cpp : 定义控制台应用程序的入口点。

  2. //

  3. #include "stdafx.h"

  4. #define GOOGLE_GLOG_DLL_DECL // 由于我们使用的glog的静态库,一定要定义这个宏

  5. #include "glog/logging.h"

  6. int main(int argc, char* argv[])

  7. {

  8. google::InitGoogleLogging(argv[0]); // 全局初始化glog

  9. google::SetStderrLogging(google::GLOG_INFO); // 设置glog的输出级别,这里的含义是输出INFO级别以上的信息

  10. // 设置INFO级别以上的信息log文件的路径和前缀名

  11. google::SetLogDestination(google::GLOG_INFO, "C:\\users\\xxxx\\documents\\logdir\\INFO_");

  12. // 设置WARNING级别以上的信息log文件的路径和前缀名

  13. google::SetLogDestination(google::GLOG_WARNING, "C:\\users\\xxxx\\documents\\logdir\\WARNING_");

  14. // 设置ERROR级别以上的信息log文件的路径和前缀名

  15. google::SetLogDestination(google::GLOG_ERROR, "C:\\users\\xxxx\\documents\\logdir\\ERROR_");

  16. FLAGS_colorlogtostderr = true; // 开启终端颜色区分

  17. LOG(INFO) << "This is my first glog INFO "; // 像C++标准流一样去使用就可以了,把这条信息定义为INFO级别

  18. LOG(WARNING) << "This is my first glog WARNING"; // 像C++标准流一样去使用就可以了,把这条信息定义为WARNING级别

  19. LOG(ERROR) << "This is my first glog ERROR"; // 像C++标准流一样去使用就可以了,把这条信息定义为ERROR级别

  20. google::ShutdownGoogleLogging(); // 全局关闭glog

  21. return 0;

  22. }

2)在你设置的目录下便可以看到log文件了

  • INFO_:存储了INFO及INFO级别以上的日志信息
  • WARNING_:存储了WARNING及WARNING级别以上的日志信息
  • ERROR_:存储了ERROR及ERROR级别以上的日志信息

番外

如果你的程序中包含了windows.h头文件,则需要做一些额外的工作,

在#include <glog/logging.h>之前,#define  GLOG_NO_ABBREVIATED_SEVERITIES

 
  1. #define GLOG_NO_ABBREVIATED_SEVERITIES

  2. #include "glog/logging.h"

如果你使用的是glog静态库

一定要#define GOOGLE_GLOG_DLL_DECL

 
  1. #define GOOGLE_GLOG_DLL_DECL

  2. #define GLOG_NO_ABBREVIATED_SEVERITIES

  3. #include "glog/logging.h"

glog下载、安装、使用相关推荐

  1. C++第三方日志库Glog的安装与使用超详解

    目录 一.glog介绍 二.glog下载 三.环境介绍 三.glog的编译详解 3.1 利用CMake进行编译,生成VS解决方案 3.2 利用VS对项目进行编译 四.glog的基本使用 4.1 创建V ...

  2. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

  3. git 下载 安装

    1.下载Git,官网地址:https://git-scm.com/,进入官网首页 在右下方的显示器中找到最新的版本下载,点击下载,跳转到下载页面 下载完成 2.安装Git 双击刚刚下载完成的安装文件, ...

  4. Docker初学5:下载安装可视化图形工具Portainer

    下载安装可视化图形工具Portainer # 搜索Portainer [root@iZh40ti53pk77iZ ~]# docker search portainer NAME DESCRIPTIO ...

  5. 01-01java概述 doc命令、jdk\jre下载安装、path、classpath配置、开发中常见小问题

    1:计算机概述(了解) (1)计算机(2)计算机硬件(3)计算机软件系统软件:window,linux,mac应用软件:qq,yy,飞秋(4)软件开发(理解)软件:是由数据和指令组成的.(计算器)开发 ...

  6. Kali Linux攻防系统(一:攻防系统Kali Linux下载安装与更新)

    任务一:攻防系统Kali Linux下载安装与更新 1.1.安装Kali Linux虚拟机 1.1.1.电脑硬件配置至少达到 CPU 内存 存储 >四核 >4G >20G 1.1.2 ...

  7. 平板电脑安装软件_题宝典软件升级了,微信公众号版不受影响,电脑版/手机APP/平板APP需要重新下载安装...

    亲爱的小伙伴们 大家好 题宝典软件升级了 那我们应该升级题库软件呢? 我们来一起看看 一.微信公众号版 进入步骤 关注本公众号(tbd339),点击菜单栏的"做题中心",如下图,然 ...

  8. windows10 下载 安装 使用 Sox

    windows10 下载 安装 使用 Sox 官网 http://sox.sourceforge.net/ 下载地址 https://sourceforge.net/projects/sox/file ...

  9. windows10中git 的下载安装

    git下载安装 下载网址: https://pc.qq.com/detail/13/detail_22693.html 双击安装 安装

最新文章

  1. 学习!机器学习算法优缺点综述
  2. linux 下挂载光盘
  3. 35佳国外顶级品牌企业网站设计案例(上)
  4. mysql数据库的增删改查命令_MySQL 初识别语句,数据库、表、行的增删改查
  5. express-generator——Express应用生成器贼快!
  6. FreeMarker的优点和缺点
  7. 你们网贷逾期最长多少时间,你们怎么处理的
  8. 去掉快捷方式图标上的箭头
  9. zstuoj 4245 KI的斐波那契
  10. 机器学习——seaborn可视化
  11. SPSS 单因素方差分析(图文+数据集)【SPSS 018期】
  12. 最流行的 6 款 Python 解释器
  13. 凤凰os linux双系统,逍遥安卓模拟器双系统无缝连接完胜Remix、凤凰OS
  14. 20考研率辉计算机复试(散列)
  15. Android eclipse常见错误开发总结
  16. 秦汉考场科目三路线图_秦汉科目三考场考试攻略,附考场路线图
  17. 手眼标定——九点标定
  18. 500. Keyboard Row
  19. 原像、第二原像、碰撞;随机预言机;生日攻击
  20. 非常实用FPGA实现CRC校验介绍和代码生成工具

热门文章

  1. GDUT - 专题学习1 D - 一维前缀和
  2. 从logit变换到logistic模型
  3. 从IT主管到CIO成长之路(2万字)
  4. [BZOJ3091][LCT]城市旅行
  5. CDGA:“东数西算”工程给西部地区数据管理人士提供广阔前景
  6. python合并两个txt列_用一个公共列python将两个txt文件合并在一起
  7. 点击按钮button,弹出一个对话框输入数据
  8. 麦肯锡中国银行业白皮书,得零售者得未来
  9. 2011年读书年度小结
  10. 1.2 日本蜡烛图技术之影线分析