glog安装(转载)

foreveryl

glog 入门简介

Glog的简单入门,glog虽然在配置参数方面比较麻烦,但是在小规模程序中,由于其简单灵活,也许会有优势。

0,  glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活,而且功能也比较完善。 结合之前看的一些资料, 这里简单对其做个简介。

1, 安装:

最新版本:0.3.1  http://code.google.com/p/google-glog/

安装只需:./configure; make; make install

2, 简单示例

main.cpp:

#include <iostream>

#include "glog/logging.h"   // glog 头文件

using namespace std;

int main(int argc, char** argv) {

google::InitGoogleLogging(argv[0]);    // 初始化

// FLAGS_log_dir=".";

LOG(INFO) << "hello glog";     // 打印log:“hello glog.  类似于C++ stream。

}

Makefile:

LIB=$(HOME)/install/glog/lib    #glog 安装路径

INCLUDE=$(HOME)/install/glog/include

test_glog : main.o

g++ -o [email protected] $^ -L$(LIB) -lglog –lpthread   #-lpthread 因为glog在多线程中需要一些锁机制。

main.o: main.cpp

g++ -c -o [email protected] $^ -I$(INCLUDE)

说明:

glog 默认对log分为4级: INFO,  WARNING,  ERROR,  FATAL.  打印log语句类似于C++中的stream,实际上LOG(INFO) 宏返回的是一个继承自std::ostrstream类的对象。

编译运行上述demo, glog默认会在/tmp/目录下生成log日志文件:test_glog.search-x2.username.log.INFO.20111003-161341.2083

文件名各字段对应含义为:

<program name>.<hostname>.<user name>.log.<severity level>.<date>.<time>.<pid>

其中:

1),<program name> 其实对应google::InitGoogleLogging(argv[0]);中的argv[0],即通过改变google::InitGoogleLogging的参数可以修改日志文件的名称。

2),每个级别的日志会输出到不同的文件中。并且高级别日志文件会同样输入到低级别的日志文件中。 即:FATAL的信息会同时记录在INFO,WARNING,ERROR,FATAL日志文件中。默认情况下,glog还会将会将FATAL的日志发送到stderr中。

现在的问题是:log总不能都打印到/tmp/目录下吧。下面的小结来解决:

3, 参数设置:

不同于log4系列的日志系统通过配置文件的方式, glog采用命令的方式来来配置参数。在glog的官方文档里,提到如下两种方式来配置参数(以修改日志目录为例:)

1),gflags:

./your_application --log_dir=.

(gflags 我还没有使用过)

2),export 修改环境变量,如下所示:修改GLOG_log_dir为上层目录

3)以上两种方法都需要使用命令行,除此之外,还可以直接在程序中指定(官方文档中没有提到, glog源代码中也不鼓励这么用,但确实是可行的):

在glog/logging.h 头文件287---350行,有诸如“GLOG_log_dir”等变量的宏定义, 则其GLOG_log_dir实际为FLAGS_log_dir,  因此只需要在程序中设置FLAGS_log_dir的值即可。其他变量类似。取消main.cpp中的注释行“// FLAGS_log_dir="."; ” 试试吧

4,  glog 支持功能列表如下

1, 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为;

2, 严重性分级,根据日志严重性分级记录日志;

3, 可有条件地记录日志信息;

4, 条件中止程序。丰富的条件判定宏,可预设程序终止条件;

5, 异常信号处理。程序异常情况,可自定义异常处理过程;

6, 支持debug功能。可只用于debug模式;

7, 自定义日志信息;

8, 线程安全日志记录方式;

9, 系统级日志记录;

10, google perror风格日志信息;

11, 精简日志字符串信息。

功能点1,2见demo实例。 其他功能见在如下链接讲的简单明了,在此也不一一细说:

1)官方文档(英文): http://google-glog.googlecode.com/svn/trunk/doc/glog.html#verbose

2)有网友的中文翻译:http://mengjh.blog.51cto.com/2860827/546766

5,  总结:glog简单易用,缺点感觉还是配置参数不如log4系列使用配置文件来的方便。在小规模程序(单元测试?功能点自测)中使用,应该是个不错的选择吧。

时间: 2024-12-28 11:30:02

glog安装(转载)的相关文章

Ubuntu 12.04 LTS 中文输入法的安装 (转载)

第一步:安装语言包 进入 “System Settings” 找到 “Language Support” 那一项,点击进入 选择 “Install/Remove Languages” 找到 “Chinese (simplified)” 那一项,把后面到勾打上 然后点击 “Apply Changes” 等待一段时间即可 第二步:安装 Ibus 框架 调出 terminal 终端,输入命令: sudo apt-get install ibus ibus-clutter ibus-gtk ibus-g

dubbo安装(转载)

1.   概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的系统提供给用户. 2.   安装&配置 在apache的官方网站提供了好多镜像下载地址,然后找到对应的版本,目前最新的是3.3.6 下载地址: http://mirrors.cnnic.cn/apache/zookeeper/zookeeper

代码实现文件驱动的安装 (转载)

转载:http://blog.csdn.net/anda0109/article/details/50172305 .h文件 #ifndef __H_FILTER_H__ #define __H_FILTER_H__ #include <windows.h> #include <winioctl.h> /************************************************************************** * 函数名:InstallDr

Linux CentOS PhpMyAdmin安装--转载

原文地址:https://www.centos.bz/2011/04/linux-centos-phpmyadmin-install/ 安装好PHP,Apache和MySQL程序后,为了管理MySQL数据库,我们需要安装phpMyAdmin程序.下面是关于如何在centos安装phpMyAdmin程序的方法. 1.管理员root身份登录系统2.进入网站根目录(如/var/www/html) cd /var/www/html 3.下载最新版本的phpMyAdmin程序(请到http://www.p

cocoa pods 安装 转载

1.打开终端 终端输入  $ruby -v  查看ruby的版本 打印代码: ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15] 2. 更换ruby镜像 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得) a.移除现有 Ruby 默认源输入以下指令 $gem sources --remove https://rubygems.org/ b.使用新的源输入以下指令  $gem sources

windows 下rabbitmq 安装---转载

原文地址:http://blog.sina.com.cn/s/blog_7cc0c8cc0101mb4a.html 1.下载并安装erlang,http://www.erlang.org/download.html,最新版是R15B01(5.9.1).由于我机器是64位的Win7,所以找到otp_win64_R15B01.exe下载并安装. 2.配置环境变量增加一个系统环境变量ERLANG_HOME配置为C:\Program Files\erl5.9.1 3.下载RabbitMQ,最新版是2.8

[转载]OpenSUSE 13.2/13.1 安装搜狗拼音输入法

1. 添加 M17N 源: 13.2: sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_13.2/ M17N 13.1: sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_13.1/ M17N 然后更新源 sudo zypper ref 2. 安装 sogou-pinyin sudo zypper i

教你一招 - 如何安装nopcommerce2.5

教你一招 - 如何安装nopcommerce2.5 29. 五月 2012 16:22         /          wcf         /          教你一招 . 解决方案         /          评论 (0) 1.确认服务器安装有iis..net framework4.mvc3.sql server. 2.下载官方no source版压缩包,如果是学习的话也可以下载with source code版. 下载地址 3.把下载的压缩包解压到指定目录,在iis里面

mac10.9+php5.5.15+brew0.9.5的安装

Brew 是 Mac 下面的包管理工具,通过 Github 托管适合 Mac 的编译配置以及 Patch,可以方便的安装开发工具. Mac 自带ruby 所以安装起来很方便,同时它也会自动把git也给你装上.官方网站: http://brew.sh 安装方法: ? 1 ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 使用以下方法可以查看brew是否安装成功,以及目前的版本: ? 1