C++日志库笔记

前言

不像Java,C++目前并没有一个在使用份额上占绝对优势的日志库。如果针对某种病有很多种药,那就说明每一种药都不能完美的治疗这种病。 现在C++的日志库也是这个问题。这个帖子是作为一个总结帖,记录我所用过的日志库,并做个简单的比较。

log4qt

官网: log4qt.sourceforge.net (不知道是不是sourceforge的问题,直接访问该链接无法打开网页,可用链接在此: http://sourceforge.net/projects/log4qt/
1、大致来说这是一个针对Qt的轻量级的日志库,就我个人使用的经验来看,上手还算快,但是似乎有些小bug,只能说是凑活。而且近些年来都没新的checkin,貌似已经dead。
2、在gitorious上有关于这个项目的一个fork: https://gitorious.org/log4qt,除了添加了一些新的log appender之外,还增加了编译脚本的支持。
注一:这个国庆节我尝试着编译和使用这个版本的log4qt,期间有一些问题和解决方法,记录于此:
        2.1 如何使用msvc 2008编译log4qt:
cmake -DQT_USE_QTSQL=TRUE -DQT_USE_QTNETWORK=TRUE -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 9 2008"
cmake --build .
        2.2 如何在Qt项目中使用log4qt:
通过打开msvc project,并生成其中的install project来完成安装,安装完毕后,所有的文件会被拷贝到C:\Program Files\log4qt下面,在Qt项目中,使用如下语句来完成安装:
INCLUDEPATH += "C:/Program Files/Log4Qt/include"
LIBS += -L"C:/Program Files/Log4Qt/lib" -lLog4Qt 
        2.3 还可以使用直接include pri文件的方式来将Log4Qt直接加入到项目中。

参考资料:
1、关于如何在Qt项目中使用log4qt的中文使用帮助: http://blog.csdn.net/dbzhang800/article/details/6916948

boost log

官网: http://www.boost.org/doc/libs/1_54_0/libs/log/doc/html/index.html
1、在写这篇博文的时候,我还只是知道有这么个东西,不过心中对其期许蛮大,认为有深入研究和学习的价值。 预留这个位置,为日后有时间来研究它时记录一些笔记。

参考资料:
1、关于如何编译boost log 2.0: http://stackoverflow.com/questions/6076405/what-is-boost-log-how-to-get-it-and-how-to-build-it

Log4CXX

官网: http://logging.apache.org/log4cxx/
1、该库在使用方式上port了log4j,因此有相关经验的朋友应该很容易上手;
2、在Qt项目中使用编译好的log4cxx:
INCLUDEPATH += "$$_PRO_FILE_PWD_/log4cxx/win32/include"
LIBS += -L"$$_PRO_FILE_PWD_/log4cxx/win32/lib" -llog4cxx

include目录拷贝自原source下面的include目录,lib目录放入编译好的log4cxx.dll和log4cxx.lib文件即可。这种方式采用的是静态编译,不需要把DLL拷贝到执行目录下面。

3、log4cxx的优点在于是针对所有的C++项目均可使用的;而且其使用方法和配置文件均与log4j相似,这样使得在不同的语言间切换时,不需要额外的学习代价;还有个我最为看重的就是它是apache的子项目,这使得它的稳定性和开发质量都有了保证。


STLogFile

这个没有官网了,我是从别人的博客中了解到这个东东的,在网上搜了好久,找到了一份拷贝,把它checkin到了我自己的git库中:

https://github.com/edychang/mytoolkits/blob/master/cpp-tparty/STLogFile/STLogFile.h

日志的目的是为了记录运行情况,辅助调试。一个轻量级的日志库(哪怕用途不那么普及,考虑不那么周全,功能不那么强大),只要能满足基本的日志功能,自然是越轻量越好。

这个就是一个例子,只有一个头文件,足够轻量了。


参考资料:
1、关于如何在Windows上面编译: http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html

2、关于如何使用Log4cxx:http://saupb.blog.163.com/blog/static/4712417820112951932781/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值