Glog等一些log库
在写代码的过程中,打log肯定是少不了的,毕竟不能总靠调试来发现问题。我们可以试着使用自己写一些log库,也可以使用现成的log库,成熟的log库非常多,log4cpp、log4cxx、poco.log、boost.log、glog、syslog等等.
log4cpp: 开源的C++类库:提供在C++中使用日志和跟踪调试功能,使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、本地syslog和远程syslog服务器中。Log4cpp是个基于LGPL的开源项目,移植自Java的日志处理跟踪项目log4j,并保持了API上的一致。其类似的支持库还包括Java(log4j),C++(log4cpp、log4cplus),C(log4c),python(log4p)等。
参考网址:http://blog.csdn.net/kingskyleader/article/details/7320826
Log4cxx:log4cxx是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计,log4cxx是apache软件基金会的开源项目,基于APR实现跨平台支持。
参考网址:http://blog.csdn.net/fhxpp_27/article/details/8284650
Poco.log: 可以参考一下poco框架,还是挺屌的 网址:http://www.libpoco.com/site/feature/中说日志部分:可扩展的日志框架,可拔插的日志通道和消息格式化;日志可输出到终端,日志文件,syslog,远程syslog,Windows事件服务
参考网址:http://blog.csdn.net/jmppok/article/details/25598483
Boost.log:参考boost库中的log部分,基本上用法和上面大同小异。
参考网址:http://blog.csdn.net/flyfish1986/article/details/40832447
Glog:来自于google,google提供给大家不少好东西,所以功能和质量上都是可以保证的。而且很轻量,用起来很灵活。
glog项目地址:https://code.google.com/p/google-glog/
glog的文档:英文 http://google-glog.googlecode.com/svn/trunk/doc/glog.html
一:概述:
Google glog是一个基于程序级记录日志信息的c++库,编程使用方式与c++的stream操作类似,例:
LOG(INFO) << "Found " << num_cookies << " cookies";
“LOG”宏为日志输出关键字,“INFO”为严重性程度。
主要支持功能:
1, 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为;
2, 严重性分级,根据日志严重性分级记录日志;
3, 可有条件地记录日志信息;
4, 条件中止程序。丰富的条件判定宏,可预设程序终止条件;
5, 异常信号处理。程序异常情况,可自定义异常处理过程;
6, 支持debug功能。可只用于debug模式;
7, 自定义日志信息;
8, 线程安全日志记录方式;
9, 系统级日志记录;
10, google perror风格日志信息;
11, 精简日志字符串信息。
二. 功能及使用方法
1.1 参数设置
可通过命令行方式设置glog的标志参数,用来控制日志记录行为。
命令格式如下:
标志名1 = 标志值 标志名2=标志值 …… 标志值n=标志值 ./程序名
所有标志名需添加统一前缀—“GLOG_”,不同标志语句之间以空格相隔&