windows下使用google的Glog库
下载glog-0.3..tar.gz,解压。
vs2013打开工程, 有四个项目
libglog
libglog_static
logging_unittest
logging_unittest_static
在liblog项目中logging.cc 文件中添加 #include <algorithm> (不然无法编译过)
然后逐个编译
libglog --> libglog.dll (动态工程库)
libglog_static --> libglog_static.lib (静态工程库)
logging_unittest --> logging_unittest.exe (动态工程库测试工程)
logging_unittest_static --> logging_unittest_static.exe (静态工程库测试工程)
、使用静态库
将glog-0.3.\glog\src\windows\log 目录拷贝到项目工程中。
在stdifx.h中添加
#define GOOGLE_GLOG_DLL_DECL
#define GLOG_NO_ABBREVIATED_SEVERITIES
#include "glog/logging.h"
#ifdef DEBUG
#pragma comment(lib, "libglog_static_d.lib")
#else
#pragma comment(lib, "libglog_static.lib")
#endif // DEBUG 2、在程序初始化时加
google::InitGoogleLogging("logInit");
google::SetLogDestination(google::GLOG_INFO, "F:\\logs\\");//设置路径
google::SetStderrLogging(google::GLOG_INFO);//设置错误路径
google::SetLogFilenameExtension("log_");//设置文件头
FLAGS_colorlogtostderr = true; // Set log color
FLAGS_logbufsecs = ; // Set log output speed(s)
FLAGS_max_log_size = ; // Set max log file size
FLAGS_stop_logging_if_full_disk = true; // If disk is full 3、程序输出
LOG(INFO) << str <<std::endl;
4、在程序退出地方加
google::ShutdownGoogleLogging();
glog使用与功能修改

1.增加文件按天区分

glog是根据进程ID来区分文件的,如果你重新启动了程序,则log文件的名字就会变,
这样似乎不太满足我的需求,我还要求它可以每天生成文件,方便我整理和分析log,
其实也有办法,自己增加一个按天滚文件的函数就可以了。
在utilities.cc中增加函数如下,(因为PidHasChanged()在这个文件里)
static int32 g_main_day = 0;
bool DayHasChanged()
{
    time_t raw_time;
    struct tm* tm_info;     time(&raw_time);
    tm_info = localtime(&raw_time);     if (tm_info->tm_mday != g_main_day)
    {
        g_main_day = tm_info->tm_mday;
        return true;
    }     return false;
} 在logging.cc的LogFileObject::Write函数中将
if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
    PidHasChanged()) {
改成
if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
 PidHasChanged() || DayHasChanged()) { 这样就会按照天来输出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. 利用Jenkins实现项目自动化部署

    1.安装Jenkins,参考上一篇博客:安装Jenkins 安装Java 安装tomcat 安装maven 2.全局工具配置,填写好后点击save 3.安装git plugin插件

  2. [Spark] 03 - Programming

    写在前面 ETL Pipeline 学习资源 Ref: 使用 AWS Glue 和 Amazon Athena 实现无服务器的自主型机器学习 Ref: AWS Glue 常见问题 Extract is ...

  3. 从 HTTP/1 到 HTTP/2,以及即将到来的 HTTP/3

    如今的生活中已经离不开互联网,智能家居.在线支付.网上购物都需要互联网的支持.互联网切切实实地给生活带来了诸多便利.有了互联网,我们可以呆在空调房里,一边刷着微博,一边等透心凉的西瓜送到手上,安安静静 ...

  4. Linux 文件/目录操作详解

    目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...

  5. 用Python怎么SSH到网络设备

    0. 前言 自上一篇文章<用python怎么telnet到网络设备>,简单使用了telnetlib库给大家演示了下,但是,现实环境中仍不建议去使用telnet. SSH(Secure Sh ...

  6. Spring MVC-从零开始-@ResponseBody(未完待续)

    Spring MVC-从零开始-@ResponseBody(未完待续)

  7. Spring Boot 监听 Activemq 中的特定 topic ,并将数据通过 RabbitMq 发布出去

    1.Spring Boot 和 ActiveMQ .RabbitMQ 简介 最近因为公司的项目需要用到 Spring Boot , 所以自学了一下, 发现它与 Spring 相比,最大的优点就是减少了 ...

  8. Flask基础(08)-->错误捕获(异常捕获)

    错误捕获(异常捕获) from flask import Flask from flask import abort app = Flask(__name__) @app.route('/demo1' ...

  9. 【ADO.NET基础-GridView】GridView的编辑、更新、取消、删除以及相关基础操作代码

    代码都是基础操作,后续功能还会更新,如有问题欢迎提出和提问....... 前台代码: <asp:GridView ID=" OnRowDataBound="GridView1 ...

  10. mysql root密码忘记

    首先停掉mysql服务,在/etc/my.cnf中添加 skip-grant-tables,同时可以添加skip-networking选项来禁用网络功能,防止这时其他人通过网络连接到数据库 [mysq ...