C++的日誌模塊glog

說明

由於我使用的windows平臺VisualStudio開發,而glog不提供VS版本(因爲維護太麻煩,要做好多個VS版本)。

自己搭建安裝,還是挺麻煩的。此文發佈時,網上是找不到像樣的環境搭建教程的,如何用它寫代碼倒是有

  • 我嘗試過用Nuget,不能用。
  • 最後自己去github的glog官網上下載自己編譯。歷經挫折,弄了一天才搞定。現在將自己整理過的成果放上來,
    glog-我的碼雲倉庫 - 開箱即用,內附教程了

效果

以一個例程來說明。(此例程也有在我的碼雲倉庫的,readme中介紹)

#include <iostream>
#include <vector> 
#include "glog/logging.h" 

int main()
{
	google::InitGoogleLogging("myLog");
	google::SetLogDestination(google::GLOG_INFO, "E://"); // 設置日誌路徑
	
	// ...
	char str[20] = "hello log!";
	LOG(INFO) << "Found " << google::COUNTER << std::endl;
	LOG(INFO) << str;				// Info日誌(輸出到文件)
	LOG(WARNING) << "warning test"; // Warning日誌(輸出到文件)
	LOG(ERROR) << "error test";     // Error日誌(輸出到文件、控制檯) 
	LOG(ERROR) << "錯誤測試";

	return 0;
}

日誌文件名大概是20191226-065432.9568這種格式,按照文本方式來打開,內容格式如下。

Log file created at: 2019/12/26 06:54:32
Running on machine: TANZI-PC
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I1226 06:54:32.609277 11152 myGLogTest.cpp:12] Found 0
I1226 06:54:32.611277 11152 myGLogTest.cpp:13] hello log!
W1226 06:54:32.611277 11152 myGLogTest.cpp:14] warning test
E1226 06:54:32.613277 11152 myGLogTest.cpp:15] error test
E1226 06:54:32.614277 11152 myGLogTest.cpp:16] 錯誤測試

INFOWARNINGERROR這幾種日誌都被輸出到日誌文件中,ERROR日誌還會同時輸出到控制檯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章