glog中的VLOG无法打印的问题

项目中用到了GLOG的宏,由于代码有些问题,需要调试,而后发现代码中的VLOG无法打印到屏幕,经过一番查阅资料,发现应如下设置:

以下是常用标志参数类型及其作用说明:

标志参数

类型

作用

logtostderr

bool

值为true的时候,日志信息输出到stderr,并非文件。默认值为 false。

stderrthreshold

int

严重性级别在该门限值以上的日志信息除了写入日志文件以外,还要输出到stderr。各严重性级别对应的数值:INFO—0,WARNING—1,ERROR—2,FATAL—3

默认值为2.

minloglevel

int

严重性级别在该门限值以上的日志信息才进行记录。

默认值为0.

log_dir

string

日志信息记录路径。默认为空,如果没有指定信息输出到stderr,则信息保存在"/tmp/<program name>.<hostname>.<user name>.log.<severity level>.<date>.<time>.<pid>"文件中。 (e.g., "/tmp/hello_world.example.com.hamaji.log.INFO.20080709-222411.10474").

v

int

对于使用“ VLOG(m)”(m为int型)表达式进行输出的日志信息,只在m的值小于该标志的值的时候,才进行输出。另外, 该设置可能被 vmodule标志给覆盖.默认为0.

vmodule

string

分模块(文件)设置VLOG(m)日志信息的输出基本。命令格式为以逗号分开的“<module name>=<log level>”表达式组成。其中<module name> 是“glob pattern”,支持通配符,<module name>不包括文件的扩展名(.h,.cc等)。

 

1,环境变量导出法:(所有标志名需添加统一前缀—“GLOG_”,不同标志语句之间以空格相隔)

我采用的设置如下:

export GLOG_log_dir=/tmp
export GLOG_logtostderr=1
export GLOG_max_log_size=1
export GLOG_minloglevel=0
export GLOG_stderrthreshold=1
export GLOG_v=4

其中,GLOG_minloglevel=0 经过实际验证,才可以打印VLOG。

2,命令行参数法:

一、好用

二、不好用

 

可以在ubuntu上装glog进行测试,Ubuntu16.04下安装glog

1.下载源码

git clone https://github.com/google/glog

2下载必要的模块

sudo apt-get install autoconf automake libtool

3:进入文件目录,运行下面命令安装

./autogen.sh ./configure --prefix =/home/nicholas/glog_ins make -j 24 sudo make install

 

测试代码:

测试代码
glog的使用简单到令人发指
现有测试程序test.cpp如下
#include <glog/logging.h>
int main(int argc, char* argv[])
{
   google::InitGoogleLogging(argv[0]);
   LOG(INFO) << "info: hello world!";
   LOG(WARNING) << "warning: hello world!";
   LOG(ERROR) << "error: hello world!";
   VLOG(0) << "vlog0: hello world!";
   VLOG(1) << "vlog1: hello world!";
   VLOG(2) << "vlog2: hello world!";
   VLOG(3) << "vlog3: hello world!";
   DLOG(INFO) << "DLOG: hello world!";
   return 0;
}


编译方法:
g++ test.cpp -o test -L/home/nicholas/glog_ins/lib/ -lglog -I/home/nicholas/glog_ins/include/ 

执行:先指定动态库路径

export LD_LIBRARY_PATH=/home/nicholas/glog_ins/lib:$LD_LIBRARY_PATH

执行效果如下:

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值