windows下使用log4cplus教程

來源:互聯網
上載者:User
下載log4cplus
最新的log4cplus可以從以下網址下載 http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/本文使用的版本為:1.1.3
 
編譯產生dll
下載完成後解壓,開啟log4cplus.sln檔案,選擇log4cplus項目,右鍵-》屬性-》配置屬性-》字元集,選擇Unicode字元集,如下圖所示。(log4cplus預設使用多位元組字元集,而VS建立項目預設使用Unicode字元集,如果不修改此處,則後面建立項目使用產生的dll時需要手動修改建立的項目為多位元組字元集,否則會報錯,總之兩邊統一用一種即可)
 
 
然後,編譯項目產生log4cplusD.dll和log4cplusD.lib檔案,在msvc10\Win32\bin.Debug目錄下,如果使用靜態庫的編譯下面一個log4cplusS的項目,本文中採用動態連結程式庫的形式。
 
 
 
使用dll
建立一個解決方案和項目,將下載檔案中的include檔案夾複製到建立的解決方案檔案夾中,並在項目-》屬性-》C/C++ -》常規 的附加元件封裝含目錄增加剛複製的include檔案夾路徑,如下圖所示
 
 
 
複製剛才產生的log4cplusD.dll和log4cplusD.lib檔案到解決方案中,我建立了一個lib的檔案夾,並在項目-》屬性-》連結器 -》常規 的附加庫目錄中增加該路徑,如下圖所示
 
 
接著繼續選擇項目-》屬性-》連結器 -》輸入,在附加依賴項中增加log4cplusD.lib 如下圖所示
 
 
最後,在項目-》屬性-》調試 的環境下增加 PATH=你的lib檔案夾所在路徑,如下圖所示
 
 
當然,也可以直接把include和lib、dll放到開發環境系統下相應的目錄中,這樣就不需要配置上述幾個路徑,只需要配置一下依賴項,編譯器也能找到這些檔案。
 
編程測試
這裡直接使用了樣本中fileappender_test的代碼,目前我的項目中使用的就是記錄到檔案的,測試了下沒有問題,其他的沒有測試,下面是代碼
 
#include <log4cplus/logger.h>#include <log4cplus/fileappender.h>#include <log4cplus/layout.h>#include <log4cplus/ndc.h>#include <log4cplus/helpers/loglog.h>#include <log4cplus/loggingmacros.h>using namespace log4cplus;const int LOOP_COUNT = 20000;intmain(){    log4cplus::initialize ();    helpers::LogLog::getLogLog()->setInternalDebugging(true);    SharedAppenderPtr append_1(        new RollingFileAppender(LOG4CPLUS_TEXT("Test.log"), 5*1024, 5));    append_1->setName(LOG4CPLUS_TEXT("First"));    append_1->setLayout( std::auto_ptr<Layout>(new TTCCLayout()) );    Logger::getRoot().addAppender(append_1);    Logger root = Logger::getRoot();    Logger test = Logger::getInstance(LOG4CPLUS_TEXT("test"));    Logger subTest = Logger::getInstance(LOG4CPLUS_TEXT("test.subtest"));    for(int i=0; i<LOOP_COUNT; ++i) {        NDCContextCreator _context(LOG4CPLUS_TEXT("loop"));        LOG4CPLUS_DEBUG(subTest, "Entering loop #" << i);    }    return 0;}

最後編譯運行即可,如果運行出現找不到dll的問題,再複製一份lib和dll到你產生的exe所在目錄下即可解決。啟動並執行結果是項目路徑下Test.log,Test.log.1~Test.log.5五個檔案,可以開啟看裡面的內容。
 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.