GLOG使用Demo
GLOG使用Demo
GLOG是Google开源的一个精简的日志系统,博主简单学习了一下并记录常见用法,以备日常查询
一、安装
照例是编译安装,不过没有使用cmake
git clone https://github.com/google/glog.git
cd glog
./autogen.sh
./configure
make
sudo make install
二、Demo
# CMakeLists.txt
cmake_minimum_required (VERSION 2.8.11)
project (proj)
find_package (glog)
add_executable (demo01 1.cc)
target_link_libraries (demo01 glog)
// 1.cpp
#include <glog/logging.h>
int main(int argc, char *argv[])
{
google::InitGoogleLogging(argv[0]);
google::SetLogDestination(google::INFO, "log/"); // 把日志同时记录文件,最低级别为INFO
// 通过GFLAGS来设置参数,更多选项可以在logging.cc里面查询
// 日志等级分为INFO, WARNING, ERROR, FATAL,如果是FATAL级别这直接运行报错
FLAGS_stderrthreshold = google::WARNING;
FLAGS_colorlogtostderr = true;
LOG(WARNING) << "Hello GLOG";
// 条件输出
LOG_IF(INFO, 20 > 10) << "20 > 10";
// 频率输出,本质上是通过google::COUNTER这个计数机实现的
for (int i = 0; i < 10; i++)
{
LOG_EVERY_N(ERROR, 3) << "每隔3次输出一次 " << i;
LOG_FIRST_N(ERROR, 2) << "前两次输出 " << i;
LOG_IF_EVERY_N(WARNING, 1 < 2, 2) << "条件输出+频率" << google::COUNTER;
}
google::ShutdownGoogleLogging();
}
三、编译运行
mkdir build
cd build
mkdir log # 存放日志的目录
cmake ..
make
./demo01
四、运行结果
命令行结果(事实上不同等级的日志会有不同的颜色)
W1110 12:00:49.353030 3474011072 1.cc:13] Hello GLOG
E1110 12:00:49.355512 3474011072 1.cc:19] 每隔3次输出一次 0
E1110 12:00:49.355850 3474011072 1.cc:20] 前两次输出 0
W1110 12:00:49.355880 3474011072 1.cc:21] 条件输出+频率1
E1110 12:00:49.355916 3474011072 1.cc:20] 前两次输出 1
W1110 12:00:49.355944 3474011072 1.cc:21] 条件输出+频率3
E1110 12:00:49.355969 3474011072 1.cc:19] 每隔3次输出一次 3
W1110 12:00:49.356000 3474011072 1.cc:21] 条件输出+频率5
E1110 12:00:49.356024 3474011072 1.cc:19] 每隔3次输出一次 6
W1110 12:00:49.356053 3474011072 1.cc:21] 条件输出+频率7
W1110 12:00:49.356077 3474011072 1.cc:21] 条件输出+频率9
E1110 12:00:49.356101 3474011072 1.cc:19] 每隔3次输出一次 9
同时在log目录下会有日志文件
➜ build tree log/
log/
├── 20181110-115213.48624
├── 20181110-115249.48650
├── 20181110-120049.48867
└── demo01.INFO -> 20181110-120049.48867 # demo01.INFO会软链到最新的日志
五、小结
现在日益感觉到日志的重要性,感觉GLOG设计的非常精妙,代码也比较明了,但官网的文档比较简单,更多功能可以直接读源码
GLOG使用Demo的更多相关文章
- glog入门demo
glog 一. 下载与安装 git clone https://github.com/google/glog.git cd glog ./autogen.sh ./configure make mak ...
- windows和linux环境下使用google的glog日志库
一.概述 glog是google推出的一款轻量级c++开源日志框架,源码在github上,目前最新release版本是v0.3.5. githut地址:https://github.com/googl ...
- glog学习(一):glog的编译及demo
windows平台: 1.下载glog代码.下载地址:https://github.com/google/glog 2.使用cmake工具,获得对应的工程文件sln. 3.打开sln文件,生成对应的l ...
- Glog
Glog的简单入门,glog虽然在配置参数方面比较麻烦,但是在小规模程序中,由于其简单灵活,也许会有优势. 0, glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活 ...
- glog 使用
glog 使用 来源:http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一.安装配置 1.简介 google 出的 ...
- glog的使用
主要还是看官方文档吧 win32下,把#define GLOG_NO_ABBREVIATED_SEVERITIES 放到#include <windows.h>之前,具体说明文档中有说. ...
- ubuntu16.04下caffe以cpu运行faster rcnn demo
参考https://haoyu.love/blog404.html 获取并修改代码 首先,我们需要获取源代码: git clone --recursive https://github.com/rbg ...
- XMLHTTPRequest DEMO(发送测试)
对于其中的HTTP状态,我们知道200-299表明访问成功:300-399表明需要客户端 反应来满足请求:400-499和500-599表明客户端和服务器出错:其中常用的如404表示资源没找到,403 ...
- 初次使用glog
一.安装配置 1.简单介绍 google 出的一个C++轻量级日志库,支持下面功能: ◆ 參数设置,以命令行參数的方式设置标志參数来控制日志记录行为: ◆ 严重性分级,依据日志严重性分级记录日志: ◆ ...
随机推荐
- kettle使用记录
1.linux系统抽取数据 export KETTLE_HOME=/home/oracle/Kettle/pdi-ce-6.1.0.1-196/data-integration export JAVA ...
- 20175315 《Java程序设计》第6周学习总结
20175215 <Java程序设计>第6周学习总结 教材学习内容总结 第七章主要讲的是内部类,匿名类,异常类等等. 内部类:Java支持在一个类中定义另一个类,称作内部类,包含内部类的类 ...
- python封装configparser模块获取conf.ini值(优化版)
昨天晚上封装了configparser模块,是根据keyname获取的value.python封装configparser模块获取conf.ini值 我原本是想通过config.ini文件中的sect ...
- express 实践
截图: 这个项目的数据是根据之前瓜子网爬虫爬的北京区数据 express + mongodb + pug(jade) + flex.css: 项目地址: https://github.com/uust ...
- 深入Java虚拟机:多态性实现机制——静态分派与动态分派
方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址.这个特性给Java带来了更强大的动态扩 ...
- IntelliJ IDEA 报错:找不到包或者找不到符号
原因 在网上各种找 https://blog.csdn.net/qq_17213067/article/details/78895302 https://blog.csdn.net/u01398566 ...
- 定义一个javascript方法,实现对数组集合的正向排序
function sortArr (arr) { var newArr = arr.map(val => parseInt(val)).sort((a, b) => a-b); newAr ...
- matlab读取图片的异常表现
在对人脸图片进行对齐时,发现有两张人脸图片一直检测不到人脸,但这两张图片中的人脸明明很好检测(证件照),经过 排查,最终发现问题所在:图片的格式不对. img = imread("**.jp ...
- C# 关于X86/X64/AnyCpu 的关系
电脑硬件CPU可以分为x86与x64, x86的机器只能安装32位的操作系统,如XP, WIN7_86, x64的机器既可以安装32位的系统,又可以安装64位的系统,只是在x64的机器上安装32位的系 ...
- Jenkins+maven环境部署
选择使用tomcat下运行jenkins项目,安装步骤如下 1. 安装tomcat,查看想要下载的版本 https://mirrors.cnnic.cn/apache/tomcat/ wget h ...