google glog 使用方法
- #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 输出日志的最小级别,即高于等于该级别的日志都将输出。