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,解压 ...
随机推荐
- CSS——边框设置
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 查看 Linux 系统版本信息
博客地址:http://www.moonxy.com 一.前言 Linux 下如何查看内核信息.发行版信息,系统位数.CPU 信息等等,Windows 下我们可以通过各种图形化软件来查看,但是对于 L ...
- mybatis源码专题(2)--------一起来看下使用mybatis框架的insert语句的源码执行流程吧
本文是作者原创,版权归作者所有.若要转载,请注明出处.本文以简单的insert语句为例 1.mybatis的底层是jdbc操作,我们先来回顾一下insert语句的执行流程,如下 执行完后,我们看下数据 ...
- 苹果系统IOS第三方管理工具——imazing 优秀
iMazing 是一款 Windows.macOS 平台的 iPhone.iPad 管理工具,可以进行文件.音乐.视频传输,备份与还原数据,并且可以管理已安装应用,比如重新安装那些已下架的应用,是「史 ...
- toString(),String.valueOf,(String)在处理空对象时的区别
public static void main(String[] args) { Map<String,Object> map = new HashMap<>(); map.p ...
- JavaScript之深入函数(一)
在任何编程语言中,函数的功能都是十分强大的,JavaScript也不例外.之前已经讲解了函数的一些基本知识,诸如函数定义,函数执行和函数返回值等,今天就带大家深入了解JavaScript中函数的原理及 ...
- Flask关于request一些方法和属性的整理(持续更新)
前提:基于纯后端服务, post 请求 (Content-Type: application/json,) 1.获取未经处理过的原始数据而不管内容类型,如果数据格式是json的,则取得的是json字符 ...
- 2018年蓝桥杯java b组第三题
标题:复数幂 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数.求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示. 答案 ...
- Spring 梳理-使用<context:property-placeholder>标签导入多个properties文件
使用<context:property-placeholder>标签导入多个properties文件 2017年12月20日 10:10:36 sf_climber 阅读数:5830更多 ...
- Springboot2.x整合RabbitMQ
1.RabbitMQ介绍 可参照RabbitMQ笔记 2.接入配置 pom依赖 <!--amqp依赖--> <dependency> <groupId>org.sp ...