glog常用宏定义以及参数配置

更详细的总结请看:glog基础知识精讲


常用宏定义:

#define LOG_INFO LOG(INFO)
#define LOG_WARNING LOG(WARNING)
#define LOG_ERROR LOG(ERROR)
#define LOG_FATAL LOG(FATAL)
#define LOG_INFO_IF(condition) LOG_IF(INFO,condition)
#define LOG_WARNING_IF(condition) LOG_IF(WARNING,condition)
#define LOG_ERROR_IF(condition) LOG_IF(ERROR,condition)
#define LOG_FATAL_IF(condition) LOG_IF(FATAL,condition)
#define LOG_INFO_EVERY(freq) LOG_EVERY_N(INFO, freq)
#define LOG_WARNING_EVERY(freq) LOG_EVERY_N(WARNING, freq)
#define LOG_ERROR_EVERY(freq) LOG_EVERY_N(ERROR, freq)
#define DLOG_INFO DLOG(INFO)
alsologtostderr(bool,default=false)  //是否同时将日志输出到文件和stderr
minloglevel (int, default=google::INFO)  //限制输出到 stderr 的部分信息,包括此错误级别和更高错误级别的日志信息 
stderrthreshold (int, default=google::ERROR)  //除了将日志输出到文件之外,还将此错误级别和更高错误级别的日志同时输出到 stderr,这个只能使用 -stderrthreshold=1 或代码中设置,而不能使用环境变量的形式。(这个参数可以替代上面两个参数)
colorlogtostderr(bool, default=false)  //将输出到 stderr 上的错误日志显示相应的颜色 
log_dir (string, default="")  //设置日志文件输出目录 
v (int, default=0)  //只有当自定义日志(VLOG)级别值小于此值时,才进行输出,默认为0(注:自定义日志的优先级与GLOG内置日志优级相反,值越小优先级越高)。
#define DLOG_WARNING DLOG(WARNING)
#define LOG_WARNING_FIRST_N(times) LOG_FIRST_N(WARNING, times)

常见参数及初始值:
logtostderr (bool, default=false)    //是否将所有日志输出到 stderr,而非文件
vmodule (string, default="")  //分文件(不包括文件名后缀,支持通配符)设置自定义日志的可输出级别,如:GLOG_vmodule=server=2,client=3 表示文件名为server.* 的只输出小于 2 的日志,文件名为 client.* 的只输出小于 3 的日志。如果同时使用 GLOG_v 选项,将覆盖 GLOG_v 选项。
注:以上参数通过加FLAGS_ 前缀来设置。

基本参数配置实例:

GLogWrapper(char* program) {
    google::InitGoogleLogging(program);

	FLAGS_log_dir="PATH/prefix_"; //设置log文件保存路径及前缀

	FLAGS_alsologtostderr = true;  //设置日志消息除了日志文件之外是否去标准输出

//	FLAGS_stderrthreshold=google::WARNING; //WARNING及以上级别标准输出

	FLAGS_colorlogtostderr = true;  //设置记录到标准输出的颜色消息(如果终端支持)

	FLAGS_stop_logging_if_full_disk = true;  //设置是否在磁盘已满时避免日志记录到磁盘

    google::InstallFailureSignalHandler();
  }
  ~GLogWrapper()
  {
    google::ShutdownGoogleLogging();
  }

阅读更多

没有更多推荐了,返回首页