环境:
XPsp3 vs2005 glog-0.3.3 http://download.csdn.net/detail/chenguangxing3/6661667
编译:
使用:glog-0.3.3里面有vs2008的sln,vs2005可以直接修改sln和vcproj降版本.打开sln直接编译就行了,没悬念.编译后生成: libglog.dll libglog.lib libglog_static.lib. 头文件在srcwindowsglog
文件包含和宏定义:#define GOOGLE_GLOG_DLL_DECL // 使用静态glog库用这个
#define GLOG_NO_ABBREVIATED_SEVERITIES // 没这个编译会出错,传说因为和Windows.h冲突
#include "glog/logging.h"
#pragma comment(lib,"glog/libglog_static.lib")
问题:设置参数,输出日志:
FLAGS_log_dir =
"c:\GLogFiles"
;
// 设置日志文件保存目录,这个目录必须是已经存在的,否则不能生成日志文件.
// GLog生成的文件名格式是[文件名].[计算机名].[Windows用户名].[log].[等级].[年月日时分秒].[PID]例如:abc.exe.J2RT9QDBPIXKGEO.Administrator.log.INFO.20131205-112354.3108
// 每个进程中至少要执行1次InitGoogleLogging(),否则不产生日志文件.例如:只在xxApp::InitInstance()中调用一次InitGoogleLogging(),xxDlg中不必调用也会把日志输出到指定文件.
google::InitGoogleLogging(
"abc.exe"
);
// 设置日志文件名中的"文件名"字段.
LOG(INFO) <<
"我在InitInstance()"
;
// 记录一个INFO等级的日志"我在InitInstance()"
google::ShutdownGoogleLogging();
// 停止GLog,与InitGoogleLogging()成对使用.没有这句vs2005会有内存泄漏,但是网上好多例子都没有用这句
/*
上面代码生成了名为"abc.exe.J2RT9QDBPIXKGEO.Administrator.log.INFO.20131205-134009.4068"的日志,内容是:
Log file created at: 2013/12/05 13:40:09
Running on machine: J2RT9QDBPIXKGEO
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I1205 13:40:09.375000 2460 abc.cpp:75] 我在InitInstance()
*/
GLog好像不支持Unicode