Glog是一个开源的C++日志库,它提供了非常方便的日志记录功能。下面是使用Glog的详细步骤:
一、安装Glog库
您可以从Glog的官方网站(https://github.com/google/glog)下载Glog的源代码,然后进行编译和安装。在Linux系统下,您可以使用以下命令安装Glog库:
sudo apt-get install libgoogle-glog-dev
二、使用Glog库
1、引入Glog库
在您的C++代码中,您需要引入Glog库的头文件:
#include <glog/logging.h>
2、初始化Glog
在您的C++代码中,您需要在main函数中初始化Glog:
google::InitGoogleLogging(argv[0]);
这个函数将初始化Glog,并将日志输出到标准输出。如果您希望将日志输出到文件中,您可以使用以下代码:
google::InitGoogleLogging(argv[0]); google::SetLogDestination(google::GLOG_INFO, "/file");
这个函数将将日志输出到指定的文件中。
3、记录日志
在您的C++代码中,您可以使用以下代码来记录日志:
LOG(INFO) << "This is an information message"; LOG(WARNING) << "This is a warning message"; LOG(ERROR) << "This is an error message";
这些语句将分别记录信息、警告和错误日志,并将它们输出到标准输出或指定的文件中。
4、设置日志级别
您可以使用以下代码来设置日志级别:
FLAGS_minloglevel = google::INFO;
这个函数将设置日志级别为INFO,这意味着只有INFO、WARNING和ERROR级别的日志会被记录。
5、设置日志格式
您可以使用以下代码来设置日志格式:
FLAGS_logtostderr = false; FLAGS_log_dir = "/path/to/log/dir"; FLAGS_alsologtostderr = true;
这些函数将设置日志输出的格式和位置。如果FLAGS_logtostderr设置为true,日志将输出到标准输出;如果设置为false,则日志将输出到指定的文件中。FLAGS_log_dir将指定日志文件的保存路径。如果FLAGS_alsologtostderr设置为true,则日志将同时输出到标准输出和指定的文件中。
6、关闭Glog
在您的C++代码的最后,您需要关闭Glog:
google::ShutdownGoogleLogging();
这个函数将清除Glog的状态并关闭日志记录。
三、附:完整代码参考
#include <iostream> #include <glog/logging.h> int main(int argc, char* argv[]) { google::InitGoogleLogging(argv[0]); google::SetLogDestination(google::GLOG_INFO, "./file/log"); FLAGS_minloglevel = google::INFO; google::SetLogFilenameExtension("_test_"); //在日志文件名中级别后添加一个扩展名。适用于所有严重级别 FLAGS_max_log_size=20; //FLAGS_log_dir = "/tmp/logs/"; LOG(INFO) << "hello world"; LOG(INFO) << "This is an information message"; LOG(WARNING) << "This is a warning message"; LOG(ERROR) << "This is an error message"; google::ShutdownGoogleLogging(); return 0; }
编译:g++ glog_test.cpp -o test -lglog 运行:sudo ./test
此代码将在运行程序目录下生成日志文件:
注:需注意SetLogDestination中若包含路径,一定需提前创建好路径文件夹(如./file/log中的file就是路径文件夹),否则不能生成日志文件,提示如下:
Could not create log file: No such file or directory COULD NOT CREATE LOGFILE '20240301-012315.11278'!
参考部分内容链接:https://blog.csdn.net/weixin_33204399/article/details/131124977
标签:INFO,google,log,Glog,FLAGS,Linux,日志,glog From: https://www.cnblogs.com/tdyizhen1314/p/18047566