google开源日志库使用实例

最近工作之余发现谷歌不愧是互联网老大,谷歌的开源日志库的使用比著名的log4cxx"老哥十四"还容易。下载地址http://code.google.com/p/google-glog/downloads/list 。glog提供的日志非常详细,甚至直接标明了产生本行日志的源代码文件和行号,也提供了很多条件日志。
官方手册:http://google-glog.googlecode.com/svn/trunk/doc/glog.html


下面是几个比较常用的选项:


里面有以FLAGS_ 开头的全局变量,可以代替以 GLOG_ 开头的环境变量
  FLAGS_log_dir = "./";  //等效于设置环境变量 GLOG_log_dir = "./" ,而且前者优先级高


每个GLOG_开头的设置项都有对应的FLAGS_开头的全局变量,在程序记录日志前修改有效。


//设置日志文件路径,指定其基本名称


  google::SetLogDestination(google::INFO,"./mylog_");//大于INFO级别的,记录在当前目录,文件以为mylog_前缀


  google::SetLogDestination(google::ERROR,"");//不为ERROR建立日志文件


  google::SetLogDestination(google::WARNING,"");


//其他配置


  google::SetStderrLogging(google::INFO);//配置输出到标准错误输出的最低日记级别


  google::LogToStderr();//只输出到标准错误输出




测试代码如下。
#include <glog/logging.h>
int main(int argc, char* argv[])
{
        //Initialize Google's logging library.
        google::InitGoogleLogging(argv[0]);
        google::SetLogDestination(google::INFO,"./test_log/");//大于INFO级别的,日志文件放在当前路径的test_log文件夹下面。不设置的话默认在系统/tmp/下面,INFO, ERROR,WARNING按文件分开。
        google::SetStderrLogging(google::INFO);//配置输出到标准错误输出的最低日记级别(输出了所有日志)
        char lv[10] = "l loveyou";
        int num_cookies = 10;
        int addr = 34;
        for(int i = 0; i < 5; ++i)
        {
                LOG(INFO) << "Found " << num_cookies+i<<":--->"<< lv<< " cookies";
                LOG(WARNING) <<"warn 地址: "<<&addr;
                LOG(ERROR) <<" value: "<<addr;
        }
        return 0;
}
参考:http://www.enet.com.cn/article/2009/1228/A20091228592251.shtml
http://hi.baidu.com/xjr20042/blog/item/397880d8fd1b7ffc39012fb3.html 。35个你也许不知道的Google开源项目

猜你喜欢

转载自blog.csdn.net/fakine/article/details/79300375