google::Glog
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的更多相关文章
- Google glog 使用
Google glog 使用 1 简介 Googleglog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏. 代码示例: #include <glog/logg ...
- c++ google glog模块安装和基本使用(ubuntu)环境
1,如何安装 1 Git clone https://github.com/google/glog.git 2 cd glog 3 ./autogen.sh 4 ./configure --prefi ...
- google glog 使用方法
#include <glog/logging.h> int main(int argc,char* argv[]) { google::ParseCommandLineFlags(& ...
- Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。
想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor ...
- windows和linux环境下使用google的glog日志库
一.概述 glog是google推出的一款轻量级c++开源日志框架,源码在github上,目前最新release版本是v0.3.5. githut地址:https://github.com/googl ...
- glog使用
How To Use Google Logging Library Glog 的基本使用方法在google code上有介绍:How To Use Google Logging Library ;最好 ...
- glog 使用
glog 使用 来源:http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html 一.安装配置 1.简介 google 出的 ...
- GLOG使用Demo
GLOG使用Demo GLOG是Google开源的一个精简的日志系统,博主简单学习了一下并记录常见用法,以备日常查询 一.安装 照例是编译安装,不过没有使用cmake git clone https: ...
- glog日志库使用笔记
日志能方便地诊断程序原因.统计程序运行数据,是大型软件系统必不可少的组件之一.glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活. 在Github上下载glog,解压 ...
随机推荐
- Java第二次作业第一题
编写图形界面程序,在窗体中设置菜单栏,在菜单栏上添加"file"菜单,在文件菜单中添加"new"和"quit"两个菜单项,其中"q ...
- Day 23 系统服务之救援模式
1.CentOS6与Centos 7启动流程 4.运行级别C6&C7 0 关机 1 单用户模式 (超级权限 必须面对实体硬件) 2 暂未使用 3 字符界面(黑框) 4 暂未使用 5 图形界面 ...
- PTA A1001&A1002
从今天起每天刷1-2题PAT甲级 第一天 A1001 A+B Format (20 分) 题目内容 Calculate a+b and output the sum in standard forma ...
- 32 (OC)* keyChain的本质
1:它是一个sqlite数据库,其保存的所有数据都是加密过的. 2:Keychain是加密规则(key)的集合.每个规则必须含有以下三个要素:认证算法.认证密钥(加密字符串).规则的时间. 3:key ...
- 零基础快速入门Java的秘诀
刚开始学习Java时要端正自己的学习的目标和态度,明确学习Java基础重点要做什么. 首先第一点,Java基础的学习,基础很重要,基础好地基牢,才能爬的高! 大家要从以下4个方向努力: 代码能力:一定 ...
- 【Win10】时钟精确到秒
[Win10]时钟精确到秒 前言 想要桌面右下角的时钟"xx:xx:xx"精确到秒,可以使用绿色免费开源软件Dism++,也可以从该软件的代码中读到方法:用注册表实现. 步骤 进入 ...
- 关于瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
瀑布流 又称瀑布流式布局,是比较流行的一种网站页面布局方式.即多行等宽元素排列,后面的元素依次添加到其后,等宽不等高,根据图片原比例缩放直至宽度达到我们的要求,依次按照规则放入指定位置. 为什么使用瀑 ...
- maven 项目报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)解决
idea在使用maven构建的项目中使用mybatis时报错org.apache.ibatis.binding.BindingException: Invalid bound statement (n ...
- mysql数据库安全性配置——日志记录
一:开启数据库日志记录 (1)在查看数据库是否开启日志记录,默认是OFF,即关闭状态.(可在数据库中执行该查询语句,也可在服务器端执行) show variables like 'log_bin'; ...
- Mysql的MyISAM和InnoDB存储引擎的区别
从以下几个方面: 1.存储结构 每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型. .frm文件存储表定义. 数据文件的扩展名为.MYD (MYData). ...