第二篇日志,居然还是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>
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 【这里就是日志打印的结果了】
若不希望产生日志文件,也可以通过环境变量把
输出直接定向到终端,详情见
参考glog文档
GLOG_logtostderr=1 ./demo.exe
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://code.google.com/p/google-glog/