現在Mayuyu來介紹一個很有用的工具,即glog。跟gflags一樣,都是google開源的工具,不同的是glog是用來打印日誌的。
Contents
1. glog安裝步驟
2. glog使用方法
1. glog安裝步驟
首先應該下載glog的安裝包,地址如下
鏈接:https://code.google.com/p/google-glog/downloads/list
然後把它解壓,進入目錄後分別執行如下命令
(1)./configure
(2)make
(3)make install
.so文件默認安裝路徑是/usr/local/lib,需要將建立軟鏈接,如下
好了,到了這裏就安裝完畢,可以放心使用了。
2. glog的使用方法
glog中的日誌分爲4個級別,即INFO,WARNING,ERROR, FATAL、分別對應數字0, 1, 2, 3。
對應級別的日誌打印在對應級別的日誌文件中。並且高級別的日誌同時打印在本級別和低級別中。例如INFO中
會有WARNING級別的輸出。
初始化參數
FLAGS_log_dir 日誌輸出目錄
FLAGS_v 自定義VLOG(m)時,m值小於此處設置值的語句纔有輸出
FLAGS_max_log_size 每個日誌文件最大大小(MB級別)
FLAGS_minloglevel 輸出日誌的最小級別,即高於等於該級別的日誌都將輸出。
滿足一定條件下輸出日誌,例如:LOG_IF(INFO, num_cookies > 10) << "Got lots of cookies";
google::InitGoogleLogging("Spider"); // 設置日誌文件名中的"文件名"字段
google::ShutdownGoogleLogging(); // 停止GLog,與InitGoogleLogging()成對使用,沒
有這句會導致內存泄漏
glog是根據進程ID來區分文件的,如果你重新啓動了程序,則log文件的名字就會變。
不同類別日誌存放路徑設置
代碼:
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <glog/logging.h>
using namespace std;
int main(int argc, char **argv)
{
google::InitGoogleLogging(argv[0]);
FLAGS_log_dir = "./log";
LOG(INFO) << "Mayuyu";
LOG(WARNING) << "Hello";
google::ShutdownGoogleLogging(); //與google::InitGoogleLogging(argv[0]);成對使用,不然會內存泄漏
return 0;
}
供參考資料
http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html
http://www.cppfans.org/1566.html
http://tudian2007.blog.163.com/blog/static/3156641320139176563617/