glog常用巨集定義以及引數配置

2021-08-18 20:08:18 字數 2069 閱讀 4219

更詳細的總結請看:

glog基礎知識精講

常用巨集定義:

#define log_info log(info)

#define log_warning log(warning)

#define log_error log(error)

#define log_fatal log(fatal)

#define log_info_if(condition) log_if(info,condition)

#define log_warning_if(condition) log_if(warning,condition)

#define log_error_if(condition) log_if(error,condition)

#define log_fatal_if(condition) log_if(fatal,condition)

#define log_info_every(freq) log_every_n(info, freq)

#define log_warning_every(freq) log_every_n(warning, freq)

#define log_error_every(freq) log_every_n(error, freq)

#define dlog_info dlog(info)

alsologtostderr(bool,default=false)  //是否同時將日誌輸出到檔案和stderr

minloglevel (int, default=google::info)  //限制輸出到 stderr 的部分資訊,包括此錯誤級別和更高錯誤級別的日誌資訊 

stderrthreshold (int, default=google::error)  //除了將日誌輸出到檔案之外,還將此錯誤級別和更高錯誤級別的日誌同時輸出到 stderr,這個只能使用 -stderrthreshold=1 或**中設定,而不能使用環境變數的形式。(這個引數可以替代上面兩個引數)

colorlogtostderr(bool, default=false)  //將輸出到 stderr 上的錯誤日誌顯示相應的顏色 

log_dir (string, default="")  //設定日誌檔案輸出目錄 

v (int, default=0)  //只有當自定義日誌(vlog)級別值小於此值時,才進行輸出,預設為0(注:自定義日誌的優先順序與glog內建日誌優級相反,值越小優先順序越高)。

#define dlog_warning dlog(warning)

#define log_warning_first_n(times) log_first_n(warning, times)

常見引數及初始值:

logtostderr (bool, default=false)    //是否將所有日誌輸出到 stderr,而非檔案

vmodule (string, default="")  //分檔案(不包括檔名字尾,支援萬用字元)設定自定義日誌的可輸出級別,如:glog_vmodule=server=2,client=3 表示檔名為server.* 的只輸出小於 2 的日誌,檔名為 client.* 的只輸出小於 3 的日誌。如果同時使用 glog_v 選項,將覆蓋 glog_v 選項。

注:以上引數通過加flags_ 字首來設定。

基本引數配置例項:

google::initgooglelogging(program);

flags_log_dir="path/prefix_"; //設定log檔案儲存路徑及字首

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

// flags_stderrthreshold=google::warning; //warning及以上級別標準輸出

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

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

google::installfailuresignalhandler();

}

常用巨集定義

1 防止乙個標頭檔案被重複包含 ifndef comdef h define comdef h 標頭檔案內容 endif 檔案開頭處 define debug,在 中加除錯 ifdef debug endif 2重新定義一些型別,防止由於各種平台和編譯器的不同,而產生的型別位元組數差異,方便移植。t...

巨集定義及帶引數的巨集定義

include 巨集定義,通常用於定義常量,在 轉換成二進位制檔案時會將 中的巨集名稱替換成值 define 巨集名稱 值 define a 1 帶引數的巨集 fun a,b 為巨集的名稱 a b為巨集的值 帶引數的巨集比函式效率高 define fun a,b a b 為了保證替換結果,最好加入 ...

不帶引數的巨集定義與帶引數的巨集定義

巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案包含 條件編譯 1.不帶引數的巨集定義 巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串...