c++ 開源日志庫選擇


liblogger

待選為 glog、log4cplus、log4cpp、log4cxx


目前准備使用glog,使用方便,性能也不錯,待進一步試驗,如果有不能滿足的功能就轉用 log4cplus,功能很全面,不過稍復雜些。

其它兩個都是三年前就沒更新,沒好感,暫不准備使用。

1.log4cplus

最新版本:1.1.0   2012-03-11

下載地址:http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.1.0

功能全面,使用稍復雜。

代碼示例: 

#include <log4cplus/layout.h>

#include <log4cplus/configurator.h>

#include <iomanip>

SharedAppenderPtr pFileAppender(new FileAppender("testlog.log"));

Logger pTestLogger = Logger::getInstance("LoggerName");

pTestLogger.addAppender(pFileAppender); 

sprintf(a,"%d",i);

LOG4CPLUS_WARN(pTestLogger, "This is a <Warn> log message..." << a );   

2.log4cxx

最新版本: 0.10.0  2008-04-03

下載地址:http://logging.apache.org/log4cxx/download.html

編譯很麻煩 新的版本0.10.0需要使用Apache的產品Ant來編譯,而Ant又需要JDK。。。

怕麻煩,沒有下載測試。 

 

3. glog

最新版本: 0.3.2  2012-1-12

下載地址:http://code.google.com/p/google-glog/downloads/list

使用方便,性能也不錯。

Google Glog 是一個C++語言的應用級日志記錄框架,提供了 C++ 風格的流操作和各種助手宏。

  Google glog是一個基於程序級記錄日志信息的c++庫,編程使用方式與c++stream操作類似

代碼示例:

#include <glog/logging.h>
google::InitGoogleLogging(argv[0]);
google::SetLogDestination(google::INFO,"./myInfo_");

LOG(INFO) << "This is a <Warn> log message..." << i; 

4. Log4cpp

 最新版1.0.x   2007-09-03

下載地址: http://sourceforge.net/projects/log4cpp/files

感覺 跟 log4cplus類似,結構稍簡單些,不過代碼也不少寫。 

 

#include <log4cpp/Category.hh>
#include <log4cpp/PropertyConfigurator.hh>
#include <log4cpp/NDC.hh>
#include <log4cpp/FileAppender.hh>
#include <log4cpp/BasicLayout.hh>
log4cpp::Layout* layout = new log4cpp::BasicLayout();
log4cpp::Appender* appender = new log4cpp::FileAppender("FileAppender", "./test_log4cpp1.log");
appender->setLayout(layout);
log4cpp::Category& warn_log = log4cpp::Category::getInstance("mywarn");
warn_log.setAdditivity(false);
warn_log.setAppender(appender);
warn_log.setPriority(log4cpp::Priority::WARN);

warn_log.critStream() << "This is a <Warn> log message..." << i; 

  

5. liblogger

一款為C++開發的日志工具,支持輸出到文件、網絡以及控制台 

參考地址:http://sourceforge.net/projects/liblogger/ 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM