服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++第三方日志库Glog基本语法详解

C++第三方日志库Glog基本语法详解

2022-09-29 16:44wendy_ya C/C++

这篇文章主要介绍了C++第三方日志库Glog基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

上文(C++第三方日志库Glog的安装与使用超详解(精选))介绍了glog的安装、配置与基本使用案例,本文将详细介绍一下glog的基本语法,结合上文一起食用效果更佳哦~

1.错误类型

glog有四个错误级别,枚举如下:

?
1
2
3
4
5
6
7
enum SeverityLevel
{
  google::INFO = 0,
  google::WARNING = 1,
  google::ERROR = 2,
  google::FATAL = 3,
};

2.输出日志

?
1
2
3
4
LOG(INFO) << "info test"//输出一个Info日志
LOG(WARNING) << "warning test"//输出一个Warning日志
LOG(ERROR) << "error test"//输出一个Error日志
LOG(FATAL) << "fatal test"//输出一个Fatal日志,这是最严重的日志并且输出之后会中止程序

3.条件输出

?
1
2
3
4
5
LOG_IF(INFO, num_cookies > 10) << "Got lots of cookies"//当条件满足时输出日志
 
LOG_EVERY_N(INFO, 10) << "Got the " << google::COUNTER << "th cookie"//google::COUNTER 记录该语句被执行次数,从1开始,在第一次运行输出日志之后,每隔 10 次再输出一次日志信息
LOG_IF_EVERY_N(INFO, (size > 1024), 10) << "Got the " << google::COUNTER << "th big cookie"//上述两者的结合,不过要注意,是先每隔 10 次去判断条件是否满足,如果滞则输出日志;而不是当满足某条件的情况下,每隔 10 次输出一次日志信息
LOG_FIRST_N(INFO, 20) << "Got the " << google::COUNTER << "th cookie"//当此语句执行的前 20 次都输出日志,然后不再输出

4.常用函数

?
1
2
3
4
google::SetLogDestination(google::GLOG_INFO, "log/prefix_");  //设置特定严重级别的日志的输出目录和前缀。第一个参数为日志级别,第二个参数表示输出目录及日志文件名前缀
 
google::SetLogFilenameExtension("logExtension");  //在日志文件名中级别后添加一个扩展名。适用于所有严重级别
google::SetStderrLogging(google::GLOG_INFO);  //大于指定级别的日志都输出到标准输出

5.常用参数(Flags)

?
1
2
3
4
5
6
7
8
FLAGS_logtostderr = true//设置日志消息是否转到标准输出而不是日志文件
 
FLAGS_alsologtostderr = true//设置日志消息除了日志文件之外是否去标准输出
FLAGS_colorlogtostderr = true//设置记录到标准输出的颜色消息(如果终端支持)
FLAGS_log_prefix = true//设置日志前缀是否应该添加到每行输出
FLAGS_logbufsecs = 0;  //设置可以缓冲日志的最大秒数,0指实时输出
FLAGS_max_log_size = 10;  //设置最大日志文件大小(以MB为单位)
FLAGS_stop_logging_if_full_disk = true//设置是否在磁盘已满时避免日志记录到磁盘

6.日志类型

日志有七个类型,其中最常用的是内置日志,枚举如下:

?
1
2
3
4
5
6
7
LOG    //内置日志
VLOG    //自定义日志
DLOG    //DEBUG模式可输出的日志
DVLOG    //DEBUG模式可输出的自定义日志
SYSLOG    //系统日志,同时通过 syslog() 函数写入到 /var/log/message 文件
PLOG    //perror风格日志,设置errno状态并输出到日志中
RAW_LOG        //线程安全的日志,需要#include <glog/raw_logging.h>

参考:

https://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html

https://www.cnblogs.com/hiloves/p/6009707.html

到此这篇关于C++第三方日志库Glog基本语法介绍的文章就介绍到这了,更多相关C++第三方日志库Glog语法内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/didi_ya/article/details/123030706

延伸 · 阅读

精彩推荐
  • C/C++C++实现LeetCode(147.链表插入排序)

    C++实现LeetCode(147.链表插入排序)

    这篇文章主要介绍了C++实现LeetCode(147.链表插入排序),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    Grandyang6022021-12-07
  • C/C++基于C语言实现的扫雷游戏代码

    基于C语言实现的扫雷游戏代码

    这篇文章主要介绍了基于C语言实现的扫雷游戏代码,对于学习游戏开发的朋友有一定的借鉴价值,需要的朋友可以参考下...

    C语言程序设计10352021-01-25
  • C/C++VSCode C++多文件编译的简单使用方法

    VSCode C++多文件编译的简单使用方法

    这篇文章主要介绍了VSCode C++多文件编译的简单使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考...

    RayJinStudio10342021-10-28
  • C/C++C++递归实现选择排序算法

    C++递归实现选择排序算法

    大家好,本篇文章主要讲的是C++递归实现选择排序算法,感兴趣的同学赶快来看一看吧对你有帮助的话记得收藏一下,方便下次浏览...

    YouthUpward7622022-08-04
  • C/C++c++多线程之死锁的发生的情况解析(包含两个归纳,6个示例)

    c++多线程之死锁的发生的情况解析(包含两个归纳,6个示例)

    这篇文章主要介绍了c++多线程之死锁的发生的情况解析(包含两个归纳,6个示例),需要的朋友可以参考下...

    C++教程网4402021-06-20
  • C/C++通俗易懂的C++前缀和与差分算法图文示例详解

    通俗易懂的C++前缀和与差分算法图文示例详解

    这篇文章主要为大家非常通俗易懂的讲解了C++前缀和与差分算法的图文分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升...

    林深时不见鹿10602022-02-20
  • C/C++C++ HLSL实现简单的图像处理功能

    C++ HLSL实现简单的图像处理功能

    本文主要介绍了HLSL实现简单的图像处理功能的方法,具有很好的参考价值,下面跟着小编一起来看下吧...

    三米上7632021-04-30
  • C/C++c++ 内联函数和普通函数的区别

    c++ 内联函数和普通函数的区别

    内联函数是c++为了提高程序的运行速度做的改进,那么内联函数和普通函数的区别是什么,本文就来详细的介绍一下,感兴趣的朋友可以了解一下...

    敲代码的Messi5972021-11-08