google glog 使用方法

时间:2021-03-14 06:40:50
  1. #include <glog/logging.h>
  2. int main(int argc,char* argv[]) {
  3. google::ParseCommandLineFlags(&argc, &argv, true);
  4. // Initialize Google's logging library.
  5. google::InitGoogleLogging(argv[0]);
  6. FLAGS_log_dir = "./log";
  7. LOG(INFO) << "hello world";
  8. return 0;
  9. }
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       输出日志的最小级别,即高于等于该级别的日志都将输出。