GLog使用筆記

環境:
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. 頭文件在src\windows\glog

使用:
文件包含和宏定義:
#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
發佈了44 篇原創文章 · 獲贊 2 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章