C++第三方日志库Glog基本语法详解
作者:wendy_ya
这篇文章主要介绍了C++第三方日志库Glog基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
上文(C++第三方日志库Glog的安装与使用超详解(精选))介绍了glog的安装、配置与基本使用案例,本文将详细介绍一下glog的基本语法,结合上文一起食用效果更佳哦~
1.错误类型
glog有四个错误级别,枚举如下:
enum SeverityLevel { google::INFO = 0, google::WARNING = 1, google::ERROR = 2, google::FATAL = 3, };
2.输出日志
LOG(INFO) << "info test"; //输出一个Info日志 LOG(WARNING) << "warning test"; //输出一个Warning日志 LOG(ERROR) << "error test"; //输出一个Error日志 LOG(FATAL) << "fatal test"; //输出一个Fatal日志,这是最严重的日志并且输出之后会中止程序
3.条件输出
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.常用函数
google::SetLogDestination(google::GLOG_INFO, "log/prefix_"); //设置特定严重级别的日志的输出目录和前缀。第一个参数为日志级别,第二个参数表示输出目录及日志文件名前缀 google::SetLogFilenameExtension("logExtension"); //在日志文件名中级别后添加一个扩展名。适用于所有严重级别 google::SetStderrLogging(google::GLOG_INFO); //大于指定级别的日志都输出到标准输出
5.常用参数(Flags)
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.日志类型
日志有七个类型,其中最常用的是内置日志,枚举如下:
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语法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!