(笔记)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  阅读(303)  评论(0编辑  收藏  举报

导航