glog的使用

现在Mayuyu来介绍一个很有用的工具,即glog。跟gflags一样,都是google开源的工具,不同的是glog是用来打印日志的。

Contents

   1. glog安装步骤

   2. glog使用方法

1. glog安装步骤

首先应该下载glog的安装包,地址如下

链接:https://code.google.com/p/google-glog/downloads/list

然后把它解压,进入目录后分别执行如下命令

(1)./configure

(2)make

(3)make install

.so文件默认安装路径是/usr/local/lib,需要将建立软链接,如下

好了,到了这里就安装完毕,可以放心使用了。

2. glog的使用方法

glog中的日志分为4个级别,即INFO,WARNING,ERROR,
FATAL、分别对应数字0, 1, 2, 3。

对应级别的日志打印在对应级别的日志文件中。并且高级别的日志同时打印在本级别和低级别中。例如INFO中

会有WARNING级别的输出。

初始化参数

FLAGS_log_dir         日志输出目录

FLAGS_v               自定义VLOG(m)时,m值小于此处设置值的语句才有输出

FLAGS_max_log_size    每个日志文件最大大小(MB级别)

FLAGS_minloglevel     输出日志的最小级别,即高于等于该级别的日志都将输出。

满足一定条件下输出日志,例如:LOG_IF(INFO, num_cookies > 10) << "Got lots of cookies";

google::InitGoogleLogging("Spider");  // 设置日志文件名中的"文件名"字段

google::ShutdownGoogleLogging();      // 停止GLog,与InitGoogleLogging()成对使用,没

有这句会导致内存泄漏

glog是根据进程ID来区分文件的,如果你重新启动了程序,则log文件的名字就会变。

不同类别日志存放路径设置

代码:

#include <iostream>
#include <string.h>
#include <stdio.h>

#include <glog/logging.h>

using namespace std;

int main(int argc, char **argv)
{
	google::InitGoogleLogging(argv[0]);
	FLAGS_log_dir = "./log";

	LOG(INFO) << "Mayuyu";
	LOG(WARNING) << "Hello";

	google::ShutdownGoogleLogging(); //与google::InitGoogleLogging(argv[0]);成对使用,不然会内存泄漏

	return 0;
}

供参考资料

http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html

http://www.cppfans.org/1566.html

http://tudian2007.blog.163.com/blog/static/3156641320139176563617/

时间: 2024-10-06 21:53:13

glog的使用的相关文章

glog参数说明

解析这些参数要用到gflags,确保你使用的glog支持gflags . logtostderr(bool, default=false) 是否把日志输出到stderr. Note: 这个参数可以设置为true,1或yes,当然也可以设置为false, 0或no. alsologtostderr(bool, default=false) 除了输出日志信息到日志文件外,还同时输出到stderr. colorlogtostderr(bool, default=false) 输出彩色的日志信息(需要终

glog

转自:http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一.安装配置 1.简介 google 出的一个C++轻量级日志库,支持以下功能: ◆ 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为: ◆ 严重性分级,根据日志严重性分级记录日志: ◆ 可有条件地记录日志信息: ◆ 条件中止程序.丰富的条件判定宏,可预设程序终止条件: ◆ 异常信号处理.程序异常情况,可自定义异常处理过程: ◆ 支持debug功

glog安装(转载)

foreveryl glog 入门简介 Glog的简单入门,glog虽然在配置参数方面比较麻烦,但是在小规模程序中,由于其简单灵活,也许会有优势. 0,  glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活,而且功能也比较完善. 结合之前看的一些资料, 这里简单对其做个简介. 1, 安装: 最新版本:0.3.1  http://code.google.com/p/google-glog/ 安装只需:./configure; make; make install

Google glog error LNK2001: unresolved external symbol &quot;__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。

想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor -> Preprocessor Definitions 加入 GOOGLE_GLOG_DLL_DECL=. Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_

C++的开源跨平台日志库glog学习研究(一)

作为C++领域中为数不多的好用.高效的.跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了.glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作. 恰巧趁着五一我也学习研究了这个glog库,写个总结如下.走过路过的的各位牛人.高手可以忽略这篇文章了. 从code.google.com下载源码(在这里),在Visual Studio 2010中打开工程,如下: 可见只有四个工程,其中libglog和libglog_static分别是Windows下的动态库和静态

C++的开源跨平台日志库glog学习研究(二)--宏的使用

上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析. 1. 日志输出宏 这里我们以一条最简单的日至输出为例说明: LOG(WARNING) << "This is a warning message"; 这里LOG是一个宏,其定义如下(logging.h line 487): #define LOG(severity) COMPACT

谷歌日志库GLog 使用说明

1 引用头文件 加载库 #include <glog/include/logging.h> #pragma comment(lib,"libglog.lib") 2 初始化 FLAGS_log_dir = "./Log"; google::InitGoogleLogging("FQManageServer"); google::SetLogDestination(google::GLOG_INFO,"./log/FQMana

google-glog 开源库分析(二):glog用法

glog使用 设置符号变量,定制日志行为 具体符号变量的设置看glog介绍中的符号变量 日志系统初始化 初始化函数:google::InitGoogleLogging(argv[0]) 初始化参数一般是第一个命令行参数--即程序的名称 结束时可以调用关闭日志系统函数 关闭日志库函数:google::ShutdownGoogleLogging() 程序运行时,可通过命令行参数或环境变量来控制程序的日志行为 glog APIs: void google::InitGoogleLogging(cons

google-glog 开源库分析(四):glog宏技巧

在核心结构之外,google-glog还通过宏技巧提供统一简洁的使用接口. 同时,通过命名空间的使用尽可能的减少名字冲突,提供一个简介的日志库. 宏助手 通过宏提供一个统一的简洁的日志输出接口 简单的使用如LOG(INFO),LOG(ERROR)等日志输出接口 通过宏提供丰富的日志输出扩展功能 提供了IF,CHECK等助手宏来简化代码 编程技巧 命名空间的使用 因为是作为库使用,所以glog中使用了命名空间类避免名字冲突 通过google命名空间提供glog库的接口空间,内部实现则进一步封装到嵌