(笔记)Linux下glog日志库的详细使用方法
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/log");
这个函数将将日志输出到指定的文件中。
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
posted on 2024-03-01 17:28 tdyizhen1314 阅读(1139) 评论(0) 编辑 收藏 举报