现在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/