关闭

[置顶] windows和linux环境下使用google的glog日志库

标签: logglog日志
1195人阅读 评论(1) 收藏 举报
分类:

一.概述

glog是google推出的一款轻量级c++开源日志框架,源码在github上,目前最新release版本是v0.3.5。
githut地址:https://github.com/google/glog,避免新版本踏坑,习惯性选用低版本v0.3.3。

二.生成windows库

源码下载完成后,根目录下会有google-glog.sln工程文件呢,用visual studio打开会有四个项目,分别如下:
1.libglog:生成动态库的源码
2.libglog_static:生成静态库的源码
3.libglog_unittest:测试动态库的源码工程
4.libglog_unittest_static:测试静态库的源码工程

windows下使用动态库演示,编译libglog工程,生成"libglog.dll"和"libglog.lib"库文件

三.windows下使用glog库

1.如你使用静态库,需要添加#define GOOGLE_GLOG_DLL_DECL,动态库不需要添加
2.如你工程中添加了<windows.h>,直接编译会报如下错误:
    "ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h. See the document for detail."
    解决办法:添加宏 "#define GLOG_NO_ABBREVIATED_SEVERITIES",并且代码中的要使用google::GLOG_ERROR代替google::ERROR,google::GLOG_INFO代替google::INFO,google::GLOG_WARNING代替google::WARNING,google::GLOG_FATAL代替google::FATAL
    原因:windows.h中定义的宏ERROR与glog中定义的宏ERROR冲突。

测试代码如下:
#include "stdio.h"
#include <Windows.h>
#define GLOG_NO_ABBREVIATED_SEVERITIES
#include <iostream>
#include <string>
#include "glog/logging.h"

using namespace std;
#pragma comment(lib, "lib/libglog.lib")

void main()
{
	//初始化参数
	FLAGS_logtostderr = false;   //TRUE:标准输出,FALSE:文件输出
	FLAGS_max_log_size = 1;		//日志文件大小
	//FLAGS_minloglevel = google::GLOG_INFO

	//glog初始化
	google::InitGoogleLogging("mqttserver");
	google::SetLogDestination(google::GLOG_INFO,"F:\\test");
	
	LOG(INFO)<<"this is info log";
	LOG(WARNING)<<"this is warning log";
	LOG(ERROR)<<"this is error log";

	int i = 4;
	LOG_IF(INFO, i == 4)<<"if log";
		
	google::ShutdownGoogleLogging();
	return;
}

运行输出结果如下:

四.生成linux库

Linux版本使用的centos7.3,编译生成库
1.  cd glog-0.3.3
2.  ./configure
3. make

make完成后会在.lib下生成相应的库文件

五.Linux下使用glog库

Linux使用静态库来测试,copy静态库libglog.a和src/glog的头文件到自己的工程目录,创建main.cpp文件,添加如下代码:
#include <stdio.h>
#include "glog/logging.h"

int main()
{
        FLAGS_logtostderr = true;
        google::InitGoogleLogging("mqttserver");
        google::SetLogDestination(google::GLOG_INFO,"./test");

        LOG(INFO) << "this is log";
        LOG(WARNING) << "this is warnning";
        LOG(ERROR) << "this is error";
        google::ShutdownGoogleLogging();
}

编译:g++ main.cpp -o main -L. -lglog -lpthread
运行:./main 输出结果如下:


源码地址(windows): 点击下载
源码地址(linux): 点击下载

欢迎加群交流:C/C++开发交流

更多技术文章扫码关注微信公众号

8
5
查看评论

Google glog 使用方法

转自:http://blog.csdn.net/irwin_chen/article/details/8798346 glog是Google维护的一个开源的C++ log库,使用Free BSC license glog官方地址:https://code.google.com...
  • yasi_xi
  • yasi_xi
  • 2014-01-13 09:12
  • 16603

google-glog功能介绍

本文是根据自己的理解翻译组织了glog的manual,鉴于自身的理解能力和英语水平,可能存在谬误,欢迎大家指出!英文原文见http://google-glog.googlecode.com/svn/trunk/doc/glog.html 1.   概述  ...
  • netlinux
  • netlinux
  • 2011-08-19 10:06
  • 35942

google-glog_0.3.4.orig.tar.gz

  • 2016-09-28 20:07
  • 510KB
  • 下载

google glog 简单使用小结

glog 是 google 的一个 c++ 开源日志系统,轻巧灵活,入门简单,而且功能也比较完善。
  • jcjc918
  • jcjc918
  • 2016-07-03 23:37
  • 9828

GoogleLog(GLog)源码分析

本文分析和介绍了GLog实现的原理。
  • breaksoftware
  • breaksoftware
  • 2016-05-10 19:18
  • 6173

glog库基本使用

glog是google开源的程序级日志库,提供了基于c++流风格的的API和一些简化宏 。
  • Fei_Liu
  • Fei_Liu
  • 2017-03-31 18:32
  • 967

glog使用

版本:glog-0.3.4 下载: https://github.com/google/glog http://download.csdn.net/detail/caowei880123/9565134编译: glog-0.3.4里面有vs2008的sln 打开sln直接编译就行了,没悬念...
  • caowei880123
  • caowei880123
  • 2016-07-01 17:36
  • 1349

google-glog安装使用

转自: http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一、安装配置 1、简介 google 出的一个C++轻量级日志库,支持以下功能: ◆ 参数设置,以命令行参数的方式设置标志参数来控制日志记录行...
  • yuliying
  • yuliying
  • 2014-02-09 15:43
  • 3400

google glog

glog
  • zhangla1220
  • zhangla1220
  • 2016-03-28 16:36
  • 669

GOOGLE GLOG 日志使用心得

c++项目中想尝试些新的东西,google glog日志中间件功能挺全面,测试的效率也比较OK, 测试数据未作记录。 google glog官方网站  https://code.google.com/p/google-glog/ 文档和源码下载均可从上面的地址中获取,我展示下我所用到的...
  • willability
  • willability
  • 2013-07-19 15:12
  • 10555
    个人资料
    • 访问:341112次
    • 积分:3164
    • 等级:
    • 排名:第12896名
    • 原创:56篇
    • 转载:1篇
    • 译文:0篇
    • 评论:118条
      技术分享公众号

      扫码关注
    博客专栏
    最新评论
    站长统计
    站长统计