C++第三方日志库Glog语法
wendy_ya 人气:0上文(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
加载全部内容