google-glog 入门教程
Posted liuyunbin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了google-glog 入门教程相关的知识,希望对你有一定的参考价值。
本教程的测试环境
- Ubuntu 18.04 LTS
- google-glog 0.3.5
- google-gflags 2.2.1
什么是 google-glog?
google-glog 是 Google 的一个开源的日志库
如何安装 google-glog?
$ sudo apt install libgflags-dev
$ sudo apt install libgoogle-glog-dev
如何配置 google-glog?
google-glog 日志分四类:INFO,WARNING,ERROR 和 FATAL,对于 FATAL ,程序输出日志后将退出。
## 设置是否输出到标准错误,默认否,即输出到文件
## 命令行参数配置,1,true 和 yes(大小写均可)意思相同,0,false 和 no(大小写均可)意思相同
$ --logtostderr=1
## 程序中配置,1 和 true 意思相同,0 和 false 意思相同
FLAGS_logtostderr = 1;
## 设置将指定等级及其以上等级的日志输出到标准错误,默认为 ERROR
## 配置中 0 表示 INFO,1 表示 WARNING,2 表示 ERROR,3 表示 FATAL
## 命令行参数配置
$ --stderrthreshold=2
## 程序中配置
FLAGS_stderrthreshold = 2;
## 设置输出指定等级及其以上等级的日志,默认为 INFO
## 配置中 0 表示 INFO,1 表示 WARNING,2 表示 ERROR,3 表示 FATAL
## 命令行参数配置
$ --minloglevel=0
## 程序内配置
FLAGS_minloglevel = 0;
## 设置日志目录,默认为 /tmp
## 命令行参数配置
$ --log_dir=
## 程序内配置
FLAGS_log_dir =
## 设置 log 是否使用颜色,默认不使用
## 命令行参数配置 1,true 和 yes(大小写均可)意思相同,0,false 和 no(大小写均可)意思相同
$ --colorlogtostderr=true
## 函数内配置,1 和 true 意思相同,0 和 false 意思相同
FLAGS_colorlogtostderr = true;
如何使用 google-glog?
- 添加需要的头文件
#include <glog/logging.h>
- 设置使用文档(可选)
google::SetUsageMessage("How to use");
- 设置版本(可选)
google::SetVersionString("1.0.0");
- 配置 LOG
FLAGS_logtostderr = true; // 设置 log 输出到标准错误
FLAGS_colorlogtostderr = true; // 设置 log 使用颜色
- 解析命令行
google::ParseCommandLineFlags(&argc, &argv, true);
- 初始化 google-glog
google::InitGoogleLogging(argv[0]);
- 使用 google-glog
LOG(INFO) << "This is INFO message."
- 编译
$ g++ main.cc -lgflags -glog
google-glog 常用的日志宏
## 简单的输出日志
LOG(INFO) << "message";
## 按条件输出日志
LOG_IF(INFO, a > 0) << "message";
## CHECK 类 宏,检查某个条件是否成立,如果不成立,输出信息后将退出
## 注意这和 assert 不同,assert 只在 debug 模式下存在
## 检测结果是否为 true
CHECK(a > 0) << "message";
## 检测两个值是否相等
CHECK_EQ(a, b) << "message";
## 坚持两个值是否不相等
CHECK_NE(a, b) << "message";
## 检测是否为空指针,将返回该指针
CHECK_NOTNULL(p);
## 打印系统错误
PLOG();
PLOG_IF();
PCHECK();
参考资源
以上是关于google-glog 入门教程的主要内容,如果未能解决你的问题,请参考以下文章