1. windows下使用googleGlog
  2. 下载glog-0.3..tar.gz,解压。
  3. vs2013打开工程, 有四个项目
  4. libglog
  5. libglog_static
  6. logging_unittest
  7. logging_unittest_static
  8. liblog项目中logging.cc 文件中添加 #include <algorithm> (不然无法编译过)
  9. 然后逐个编译
  10. libglog --> libglog.dll (动态工程库)
  11. libglog_static --> libglog_static.lib (静态工程库)
  12. logging_unittest --> logging_unittest.exe (动态工程库测试工程)
  13. logging_unittest_static --> logging_unittest_static.exe (静态工程库测试工程)
  1. 、使用静态库
  2. glog-0.3.\glog\src\windows\log 目录拷贝到项目工程中。
  3. stdifx.h中添加
  4. #define GOOGLE_GLOG_DLL_DECL
  5. #define GLOG_NO_ABBREVIATED_SEVERITIES
  6. #include "glog/logging.h"
  7. #ifdef DEBUG
  8. #pragma comment(lib, "libglog_static_d.lib")
  9. #else
  10. #pragma comment(lib, "libglog_static.lib")
  11. #endif // DEBUG
  12.  
  13.  
  14. 2、在程序初始化时加
  15. google::InitGoogleLogging("logInit");
  16. google::SetLogDestination(google::GLOG_INFO, "F:\\logs\\");//设置路径
  17. google::SetStderrLogging(google::GLOG_INFO);//设置错误路径
  18. google::SetLogFilenameExtension("log_");//设置文件头
  19. FLAGS_colorlogtostderr = true; // Set log color
  20. FLAGS_logbufsecs = ; // Set log output speed(s)
  21. FLAGS_max_log_size = ; // Set max log file size
  22. FLAGS_stop_logging_if_full_disk = true; // If disk is full
  23.  
  24. 3、程序输出
  25. LOG(INFO) << str <<std::endl;
  26. 4、在程序退出地方加
  27. google::ShutdownGoogleLogging();
  1. glog使用与功能修改
  2.  
  3. 1.增加文件按天区分
  4.  
  5. glog是根据进程ID来区分文件的,如果你重新启动了程序,则log文件的名字就会变,
  6. 这样似乎不太满足我的需求,我还要求它可以每天生成文件,方便我整理和分析log
  7. 其实也有办法,自己增加一个按天滚文件的函数就可以了。
  8. utilities.cc中增加函数如下,(因为PidHasChanged()在这个文件里)
  9. static int32 g_main_day = 0;
  10. bool DayHasChanged()
  11. {
  12.     time_t raw_time;
  13.     struct tm* tm_info;
  14.  
  15.     time(&raw_time);
  16.     tm_info = localtime(&raw_time);
  17.  
  18.     if (tm_info->tm_mday != g_main_day)
  19.     {
  20.         g_main_day = tm_info->tm_mday;
  21.         return true;
  22.     }
  23.  
  24.     return false;
  25. }
  26.  
  27. logging.ccLogFileObject::Write函数中将
  28. if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
  29.     PidHasChanged()) {
  30. 改成
  31. if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
  32.  PidHasChanged() || DayHasChanged()) {
  33.  
  34. 这样就会按照天来输出log了。

  

google::Glog的更多相关文章

  1. Google glog 使用

    Google glog 使用 1        简介 Googleglog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏. 代码示例: #include <glog/logg ...

  2. c++ google glog模块安装和基本使用(ubuntu)环境

    1,如何安装 1 Git clone https://github.com/google/glog.git 2 cd glog 3 ./autogen.sh 4 ./configure --prefi ...

  3. google glog 使用方法

    #include <glog/logging.h> int main(int argc,char* argv[]) { google::ParseCommandLineFlags(& ...

  4. Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。

    想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor ...

  5. windows和linux环境下使用google的glog日志库

    一.概述 glog是google推出的一款轻量级c++开源日志框架,源码在github上,目前最新release版本是v0.3.5. githut地址:https://github.com/googl ...

  6. glog使用

    How To Use Google Logging Library Glog 的基本使用方法在google code上有介绍:How To Use Google Logging Library ;最好 ...

  7. glog 使用

    glog 使用 来源:http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一.安装配置 1.简介 google 出的 ...

  8. GLOG使用Demo

    GLOG使用Demo GLOG是Google开源的一个精简的日志系统,博主简单学习了一下并记录常见用法,以备日常查询 一.安装 照例是编译安装,不过没有使用cmake git clone https: ...

  9. glog日志库使用笔记

    日志能方便地诊断程序原因.统计程序运行数据,是大型软件系统必不可少的组件之一.glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活. 在Github上下载glog,解压 ...

随机推荐

  1. CSS——边框设置

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 查看 Linux 系统版本信息

    博客地址:http://www.moonxy.com 一.前言 Linux 下如何查看内核信息.发行版信息,系统位数.CPU 信息等等,Windows 下我们可以通过各种图形化软件来查看,但是对于 L ...

  3. mybatis源码专题(2)--------一起来看下使用mybatis框架的insert语句的源码执行流程吧

    本文是作者原创,版权归作者所有.若要转载,请注明出处.本文以简单的insert语句为例 1.mybatis的底层是jdbc操作,我们先来回顾一下insert语句的执行流程,如下 执行完后,我们看下数据 ...

  4. 苹果系统IOS第三方管理工具——imazing 优秀

    iMazing 是一款 Windows.macOS 平台的 iPhone.iPad 管理工具,可以进行文件.音乐.视频传输,备份与还原数据,并且可以管理已安装应用,比如重新安装那些已下架的应用,是「史 ...

  5. toString(),String.valueOf,(String)在处理空对象时的区别

    public static void main(String[] args) { Map<String,Object> map = new HashMap<>(); map.p ...

  6. JavaScript之深入函数(一)

    在任何编程语言中,函数的功能都是十分强大的,JavaScript也不例外.之前已经讲解了函数的一些基本知识,诸如函数定义,函数执行和函数返回值等,今天就带大家深入了解JavaScript中函数的原理及 ...

  7. Flask关于request一些方法和属性的整理(持续更新)

    前提:基于纯后端服务, post 请求 (Content-Type: application/json,) 1.获取未经处理过的原始数据而不管内容类型,如果数据格式是json的,则取得的是json字符 ...

  8. 2018年蓝桥杯java b组第三题

    标题:复数幂 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数.求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示. 答案 ...

  9. Spring 梳理-使用<context:property-placeholder>标签导入多个properties文件

    使用<context:property-placeholder>标签导入多个properties文件 2017年12月20日 10:10:36 sf_climber 阅读数:5830更多 ...

  10. Springboot2.x整合RabbitMQ

    1.RabbitMQ介绍 可参照RabbitMQ笔记 2.接入配置 pom依赖 <!--amqp依赖--> <dependency> <groupId>org.sp ...