glog的使用教程

2021-08-03 15:46:34 字數 2863 閱讀 9520

安裝

tar -zxvf glog-0.3.3.tar.gz

cd glog-0.3.3

./configure --prefix=/your/install/path

make

make install

vim ~/.bashrc

export library_path=/your/install/path/lib:$library_path

export ld_library_path=/your/install/path/lib:$ld_library_path

source ~/.bashrc

標頭檔案

#include
初始化

google:

:initgooglelogging(argv[0]);//日誌檔案字首

日誌儲存目錄

flags_log_dir = "./log";//命名方法和gflags類似
日誌級別

總共有四種級別:

1. info

2. warning

3. error

4. fatal

分別對應數字:0,1,2,3

對應級別的日誌列印在對應級別的日誌檔案中;

並且高階別的日誌同時列印在本級別和低級別中,例如 info中會有warning級別的輸出。

簡單使用

log(info) <<

"info test"; //輸出乙個info日誌

log(warning) <<

"warning test"; //輸出乙個warning日誌

log(error) <<

"error test"; //輸出乙個error日誌

log(fatal) <<

"fatal test"; //輸出乙個fatal日誌,這是最嚴重的日誌並且輸出之後會中止程式

編譯執行:

g++ test.cpp -o test -i/your/install/path/include -lglog

./test

日誌檔案格式

name>..name>.log.level>...

example: hello_world.example.com.hamaji.log.info.20080709-222411.10474

本文開始處的例子中的 google::initgooglelogging(argv[0]); 引數便為設定程式名稱。

關閉庫

google:

:shutdowngooglelogging();//程式完結時必須有,否則會記憶體洩露

幾個函式

google:

:setstderrlogging(google:

:glog_warning);//大於指定級別的日誌都輸出到標準錯誤(包括自己)

google:

:setlogdestination(google:

:glog_info, "log/prefix_");//設定特定嚴重級別的日誌的輸出目錄和字首。第乙個引數為日誌級別,第二個引數表示輸出目錄及日誌檔名字首

google:

:setlogfilenameextension("logextension");//在日誌檔名中級別後新增乙個副檔名。適用於所有嚴重級別

幾個引數設定

flags_logtostderr = true;  //設定日誌訊息是否轉到標準輸出而不是日誌檔案

flags_alsologtostderr = true; //設定日誌訊息除了日誌檔案之外是否去標準輸出

flags_colorlogtostderr = true; //設定記錄到標準輸出的顏色訊息(如果終端支援)

//一般是從error才有顏色,如果info有顏色可以新增:flags_stderrthreshold=google::info;

flags_log_prefix = true; //設定日誌字首是否應該新增到每行輸出

flags_logbufsecs = 0; //設定可以緩衝日誌的最大秒數,0指實時輸出

flags_max_log_size = 10; //設定最大日誌檔案大小(以mb為單位)

flags_stop_logging_if_full_disk = true; //設定是否在磁碟已滿時避免日誌記錄到磁碟

常用格式

log_if(info,a>10)<<"if a>10 will print this log"

;check(a>10)<<"if a<=10 will print this log(fatal), the program will break"

;check_eq(a,10)<<"if a!=10 will print this log(fatal),the program will break"

;check_ne(a,10)

check_le(a,10)

check_lt(a,10)

check_ge(a,10)

check_gt(a,10)

Glog 使用簡介

編譯 cmake編譯需要使用3.0以上版本,編譯成功之後會生成libglog.a庫,使用的時候包含標頭檔案 include就可以了 使用簡介 glog通過google initgooglelogging flkcdp 進行初始化。glog生成的日誌檔名稱類似於下面 flkcdp.ubuntu.roo...

GLog使用筆記

環境 xpsp3 vs2005 glog 0.3.3 編譯 glog 0.3.3裡面有vs2008的sln,vs2005可以直接修改sln和vcproj降版本.開啟sln直接編譯就行了,沒懸念.編譯後生成 libglog.dll libglog.lib libglog static.lib.標頭檔案...

Go標準庫glog使用詳解

golang glog 是 c 版本 google glog 的 go 版本實現,基本實現了原生 glog 的日誌格式。在 kuberntes 中,glog 是預設日誌庫。目錄 glog 的通用功能 glog的 vmodule 功能 glog的 tracelocation 功能 glog的日誌格式 ...