google_Glog使用(linux)

第二篇日志,居然还是google的 google-glog,顾名思义,google提供的日志库,刚开始使用,心得体会暂时没有,先看看如何使用吧
安装:
step1:下载地址:http://code.google.com/p/google-glog/downloads/detail?name=glog-0.3.1-1.tar.gz
step2:解压,configure,make,make install
step3:demo.c
------------------------------ ------------------------------
#include <glog/logging.h>
#include <gflags/gflags.h>

DEFINE_int32(port, 0 ,"what port to listen on"); # 实际可以使用FLAGS_port 
DEFINE_string(log_dir, "./", "path");#实际可以使用FLAGS_log_dir

int main(int argc, char* argv[]) 
{
    //Initialize Google's logging library.
    google::InitGoogleLogging(argv[0]);
    int num_cookies = 10;
    LOG(INFO) << "Found " << num_cookies << " cookies";
    return 0;
}
- ------------------------------ -----------------------------
step4:编译 g++ demo.cpp -L ../glog-0.3.1/lib -lglog -o demo.exe
step5:运行 ./demo.exe 

输出解析 
默认输出日志在 /tmp下 格式为"/tmp/<program name>.<hostname>.<user name>.log.<severity level>.<date>.<time>.<pid>"
比如,本人的机器运行结果如下:
>:/data6/peterguo/glog/demo> l /tmp/demo.exe* 
-rw-r--r-- 1 sosotest users 207 2011-03-24 16:54 /tmp/demo.exe.JingKai_10_161_29_146.sosotest.log.INFO.20110324-165411.10016
>:/data6/peterguo/glog/demo> cat /tmp/demo.exe.JingKai_10_161_29_146.sosotest.log.INFO.20110324-165411.10016
Log file created at: 2011/03/24 16:54:11 【日志产生时间】
Running on machine: JingKai_10_161_29_146 【日志的其他信息】
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg 【日志格式】
I0324 16:54:11.589886 10016 demo.cpp:8] Found 10 cookies       【这里就是日志打印的结果了】

常用方法
1.输出直接定向到终端
若不希望产生日志文件,也可以通过环境变量把输出直接定向到终端 ,详情见   参考glog文档
GLOG_logtostderr=1 ./demo.exe  
亦可以使用 --logtostderr=1 参数将输出定向到终端,两种方法一样效果
 
2.输出路径设置
glog路径设置路径:使用log必然要涉及到log路径,这些在手册里介绍的不是很清楚,可以查看源码
/usr/local/include/glog/logging.h 函数: SetLogDestination(LogSeverity severity, const char* base_filename);
例如
---------------------------------------------------------------------------------------

google::SetLogDestination(google::INFO,"./myInfo_");  //高于INFO级别的,记录在当前目录并以myInfo_为前缀的日志

google::SetLogDestination(google::ERROR,"");           //如果前缀为空,则不建立ERROR级别的日志

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

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


另外,据说:配合gflag的话,代码中如果设置有以FLAGS_ 开头的变量,使用 GLOG_ 开头的环境变量进行设置,如

FLAGS_log_dir = "./";  与设置环境 GLOG_log_dir = "./"  具有相同的作用,且程序中的设置优先级高

笔者在自己的机器上试验,貌似不起效....用时小心


本文出自:http://muxu303.blog.163.com/blog/static/5128019201122444344415/


/

tar -zxvf   glog-0.3.3.tar.gz进行解压

./configure

make

make install


将demo.cpp放在解压目录下,且使用

g++ demo.cpp -L ../glog-0.3.1/lib -lglog -o demo.exe来编译,其中L和l两个选项必须要


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值