Glog学习笔记

一、glog介绍

Google Logging(glog)是一个实现应用程序级日志记录的C++98库。该库提供了基于C++风格的流和各种辅助宏的日志API。

glog的日志按严重等级分为四级,由低到高分别是:

  • INFO(0级)
  • WARNING(1级)
  • ERROR(2级)
  • FATAL(3级)

注意:高严重等级的日志,会出现在所有比它等级低的日志中。例如,FATAL的日志,不仅会出现在FATAL中,也会出现在ERROR、WARNING、INFO之中。

二、glog的基础使用

  1. 包含头文件: #include “glog/logging.h”
  2. 用glog之前必须先初始化库,要生成日志文件只需在开始log之前调用一次:
    google::InitGoogleLogging(argv[0]); //括号内是程序名
  3. 当要结束glog时必须关闭库,否则会内存溢出:
google::ShutdownGoogleLogging();
  1. FLAGS_log_dir = " "; //设置日志文件输出目录

基础使用如下例所示:

#include <glog\logging.h>

int main()
{
    google::InitGoogleLogging("test");//使用glog之前必须先初始化库,仅需执行一次,括号内为程序名
    FLAGS_alsologtostderr = true;     //是否将日志输出到文件和stderr
    FLAGS_colorlogtostderr = true;    //是否启用不同颜色显示
    google::SetLogDestination(google::GLOG_INFO, "E:\\logs\\INFO_");  //INFO级别的日志都存放到logs目录下且前缀为INFO_
    google::SetLogDestination(google::GLOG_WARNING, "E:\\logs\\WARNING_");  //WARNING级别的日志都存放到logs目录下且前缀为WARNING_
    google::SetLogDestination(google::GLOG_ERROR, "E:\\logs\\ERROR_");  //ERROR级别的日志都存放到logs目录下且前缀为ERROR_
    google::SetLogDestination(google::GLOG_FATAL, "E:\\logs\\FATAL_");  //FATAL级别的日志都存放到logs目录下且前缀为FATAL_
    LOG(INFO) << "info";
    LOG(WARNING) << "warning";
    LOG(ERROR) << "error";
    /*LOG(FATAL) << "fatal";*/
    google::ShutdownGoogleLogging();  //当要结束glog时必须关闭库,否则会内存溢出
    return 0;
}
// 代码执行后,会在E:\logs文件夹下生成四个log文件 

注意事项

  1. GLog在整个项目周期中只允许生成一个日志文件,也就是说,glog从初始化到注销整个过程,不允许再次调用glog的初始化或者注销;即只允许有一个实例化对象;
  2. 在需要使用glog打印日志的cpp文件中包含头文件,注意:每个使用glog的cpp文件都要添加;

参考

  1. C++第三方日志库Glog的安装与使用超详解
  2. google-glog安装使用
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CMake是一个跨平台的开源构建工具,用于管理软件构建过程中的编译、链接和安装等操作。Glog是谷歌开源的C++日志库,用于记录程序运行时的输出信息。在CMake工程中使用Glog可以通过以下几个步骤来配置和使用: 1. 在CMakeLists.txt中配置Glog:引用中的代码段展示了在CMakeLists.txt文件中配置Glog的语句。首先使用`find_package(Glog REQUIRED)`来找到Glog库,然后使用`include_directories(BEFORE ${GLOG_INCLUDE_DIRS})`将Glog库的头文件目录添加到编译器的搜索路径中。 2. 在main函数中配置Glog:引用中的代码段展示了在main函数中配置Glog的语句。首先在文件中添加`#include <glog/logging.h>`来包含Glog的头文件。然后在main函数体中使用`google::InitGoogleLogging(argv)`来初始化Glog,其中`argv`是可执行文件的名称。接下来,使用`google::SetLogDestination()`函数设置不同级别的日志信息的输出路径,可以根据需要设置不同级别的日志信息的存储路径和文件名前缀。最后,使用`LOG(INFO)`宏来输出日志信息。 3. 在其他文件中使用Glog:可以在其他文件中通过包含`<glog/logging.h>`头文件来使用Glog提供的日志功能。 综上所述,以上是在CMake工程中使用Glog的基本配置和使用方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Cmake中的Glog用法浅析](https://blog.csdn.net/handsome_for_kill/article/details/69808446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值