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

6人阅读 评论(0) 收藏 举报
分类:

更详细的总结请看: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();
  }

查看评论

创业,我为什么失败??? http://www.vchome.net

2002年11月至2003年5月,这段时间是阿蒙(http://www.vchome.net)的第一次创业,显然是失败的,深圳是个充满诱惑同时也充满陷阱的城市,年轻人需要这样的城市,创业者更需要这样的...
  • harrymeng
  • harrymeng
  • 2003-07-02 16:12:00
  • 4525

google glog之CHECK_*含义

#define CHECK_EQ(x,y) CHECK_OP(x,y,EQ,==) #define CHECK_NE(x,y) CHECK_OP(x,y,NE,!=) #define CHECK_...
  • wonengguwozai
  • wonengguwozai
  • 2017-01-16 15:58:23
  • 1068

glog功能介绍

原文章出处http://mengjh.blog.51cto.com/2860827/546766 1.   概述       Google glog是一个基于程序级记录日志信息的c++库,编程使用...
  • Anysky___
  • Anysky___
  • 2017-04-14 10:04:19
  • 774

WebLogic常用参数配置

  • 2014年10月24日 10:14
  • 214KB
  • 下载

C/C++常用宏定义

下面列举一些成熟软件中常用得宏定义 1,防止一个头文件被重复包含  #ifndef COMDEF_H  #define COMDEF_H  //头文件内容 ... #endif  ...
  • lp310018931
  • lp310018931
  • 2015-10-09 22:24:58
  • 619

C/C++常用宏定义,注意事项,宏中#和##的用法

总结下宏和函数的不同之处,以供大家写代码时使用,这段总结摘自《C和指针》一书。 当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等。 下面列举一些成熟软...
  • anye3000
  • anye3000
  • 2011-08-10 17:30:46
  • 4544

C 中常用宏定义

在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro...
  • yitailong
  • yitailong
  • 2012-11-30 15:31:58
  • 1420

iOS常用宏定义大全

iOS常用宏定义大全OC版宏定义与常量的区别宏:只是在预处理器里进行文本替换,不做任何类型检查,宏能定义代码,const不能,多个宏编译时间相对较长,影响开发效率,调试过慢,const只会编译一次,缩...
  • Bruce_pac
  • Bruce_pac
  • 2016-08-01 14:43:37
  • 1608

iOS-常用宏定义大全

字符串是否为空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str l...
  • u014220518
  • u014220518
  • 2016-12-19 10:16:53
  • 1676

C++工程中常用的宏定义(#define)

尽管说define有很多不足之处,很多时候我们需要使用const来替代define, 也可以使用typedef来替代define。但是,在一些实际工程中,我们还是不可避免的使用到了define,这给我...
  • wangshubo1989
  • wangshubo1989
  • 2016-11-25 21:20:39
  • 13672
    个人资料
    等级:
    访问量: 242
    积分: 40
    排名: 183万+
    文章存档