您的位置:首页 > 编程语言 > Go语言

【学习笔记】Google glog 使用

2015-09-22 10:45 726 查看

Google glog 使用

之前只是想看一下深度学习方面的知识,不料后来发现最好还是看下源码吧,顺带再把自己的编程能力提上来,加油吧..

安装

从github上直接下载google/glog,解压缩,根目录为glog-master,打开vsprojects,打开libglog。用的vs2013直接提示转换,转换完成,生成就可以使用。

测试

在vs下新建一个test工程,在属性表里新建glog属性表,c/c++属性目录中添加glog-master/src/windows,链接器的附加包含目录中添加上面步骤中生成的libglog的目录,输入写入libglog.lib。或直接添加#pragma comment(lib,”libglog.lib”),基本是一样的。

// 下述程序将hello输入到stderr
#include "glog/logging.h"
#include <iostream>
#include <vector>
using namespace std;
//#pragma comment(lib,"libglog.lib")

int main(int argc, char* argv[])
{
google::InitGoogleLogging(argv[0]);
LOG(INFO) <<"hello"<<endl;
system("pause");
return 0;
}


glog有四个错误级别:

enum SeverityLevel
{
google::INFO = 0,
google::WARNING = 1,
google::ERROR = 2,
google::FATAL = 3,
};


可通过google::SetLogDestination(Google::GLOG_INFO,”path”) 来设置输出不同错级别的输出路径。

若要输出到屏幕则可添加

// 错误级别比INFO高则输出到stderr
google::SetStderrLogging(google::INFO);
// 或使用FLAGS_stderrthreshold = google::INFO;
// 更多FLAGS_在logging.h中查看


其他输出

// 满足条件时输出
LOG_IF(google::GLOG_INFO,a>10)<<"sth!";
// 每隔N输出
LOG_EVERY_N(google::GLOG_INFO,N)<<"sth!"
// 每N次判断一次,若满足条件则输出
LOG_IF_EVERY_N(google::GLOG_INFO,a>10,N)<<"sth!"
// 前20次输出,后不再输出
LOG_FIRST_N(INFO, 20) << "Got the " << google::COUNTER << "th cookie";


宏CHECK_

CHECH_EQ等,若不符合判定条件,输出日志,并终止程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: