首页 > 代码库 > glog的使用

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/

 

 

 

 

glog的使用