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,解压 ...
随机推荐
- 增删改查——PreparedStatement接口
1.添加 package pers.Pre.add; import java.sql.Connection; import java.sql.DriverManager; import java.sq ...
- ckeditor中 config.js等通过ckeditor.js引入文件手动修改方法
因为除了ckeditor.js之外的引用文件是通过ckeditor.js自动添加<script>或<link>标签实现文件的引入,引入的根目录是展示页面的地址.有时需要手动修改 ...
- 上手Dubbo之 环境搭建
和传统ssm整合--写XML配置文件 搭建服务的提供者和服务的消费者,实现服务消费者跨应用远程调用服务提供者 公共模块抽取 公共模块的抽取 服务的消费者远程调用服务的提供者, 最起码他自己要得到在服务 ...
- Linux之正则表达式grep
真好!
- spring aop介绍和示例
参考:<Spring in Action> 一.AOP介绍 AOP是Aspect Oriented Programming的缩写,意思是面向切面编程. 应用中有一些功能使用非常普遍,比如事 ...
- 品Spring:负责bean定义注册的两个“排头兵”
别看Spring现在玩的这么花,其实它的“筹码”就两个,“容器”和“bean定义”. 只有先把bean定义注册到容器里,后续的一切可能才有可能成为可能. 所以在进阶的路上如果要想走的顺畅些,彻底搞清楚 ...
- Jib构建镜像的问题分析(Could not find or load main class ${start-class})
问题简述 通过Jib插件将SpringBoot工程制作成Docker镜像成功,但是运行镜像的时候报错(Could not find or load main class ${start-class}) ...
- python正则表达式贪婪算法与非贪婪算法与正则表达式子模式的简单应用
先引入一下百度百科对于正则表达式的概念: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种 ...
- Netty中粘包和拆包的解决方案
粘包和拆包是TCP网络编程中不可避免的,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制. TCP粘包和拆包 TCP是个“流”协议,所谓流,就是没有界限的一串 ...
- vim设置golang语法高亮 (Centos)
Go语言自带vim 的语法高亮文件. http://www.golangtc.com/download 下载 go1.3.3.src.tar.gzgo1.3.3 (source only),解压缩 ...