- #include <glog/logging.h>
- int main(int argc,char* argv[]) {
- google::ParseCommandLineFlags(&argc, &argv, true);
- // Initialize Google's logging library.
- google::InitGoogleLogging(argv[0]);
- FLAGS_log_dir = "./log";
- LOG(INFO) << "hello world";
- return 0;
- }
g++ -o foo_1 -lglog foo_1.cpp
運行后會在log目錄下生成日志文件。
FLAGS_log_dir設置日志輸出目錄。
google::ParseCommandLineFlags(&argc, &argv, true); 使用時,可解析命令行參數。如 foo_1 --log_dir=log
日志級別
INFO, WARNING, ERROR, FATAL、分別對應數字
0, 1, 2, 3
對應級別的日志打印在對應級別的日志文件中。
並且高級別的日志同時打印在本級別和低級別中。
例如 INFO中會有WARNING級別的輸出。
日志文件
默認輸出在“/tmp/”目錄下,修改輸出目錄方法:
- FLAGS_log_dir值修改
- google::ParseCommandLineFlags(&argc, &argv, true); 使用時,命令行參數log_dir設置。
日志文件名稱格式:<program name>.<hostname>.<user name>.log.<severity level>.<date>.<time>.<pid>
例如:hello_world.example.com.hamaji.log.INFO.20080709-222411.10474
本文開始處的例子中的 google::InitGoogleLogging(argv[0]); 參數便為設置程序名稱。
初始化參數
FLAGS_log_dir 日志輸出目錄
FLAGS_v 自定義VLOG(m)時,m值小於此處設置值的語句才有輸出
FLAGS_max_log_size 每個日志文件最大大小(MB級別)
FLAGS_minloglevel 輸出日志的最小級別,即高於等於該級別的日志都將輸出。