VS2012編譯log4cpp1.1.1版本


1.起因

看到官方網站上的log4cpp的代碼已經更新到了1.1.1,而我目前使用的1.0.3版本,所以想使用下最新版本。在使用過程中發現相對於老版本,新版本的變化還是比較大的,特寫下此文記錄下。

2.環境部署

其實新版本很早就已經發布了,只是很久沒更新所以才會落后,新版本可以從 官方網站 上去下載。下載后將其解壓縮到本地,可以看到它自帶了默認的工程僅支持到VS2010。這樣就很簡單了,我們復制下msvc10,將其重命名為msvc11,就像下圖一樣

然后進入該文件夾,將msvc10.sln文件重命名為msvc11.sln,然后用VS2012打開。由於我們是用高版本打開低版本項目工程文件,因此在打開過程中會提示我們是否進行項目更新,選擇全部更新即可,處理以后的街內容如下圖

到此環境部署工作已經結束。

3.編譯步驟

log4cpp的解決方案設置比較完整,基本不需要我們修改什么就可以直接編譯成功。在這里我們只需要按照自己的需要編譯動態庫版本(log4cpp)或者靜態庫版本(log4cppLIB)即可,在對應的工程項目文件夾內會產生對應的庫文件。
編譯結束。

4.使用步驟

  • 4.1.提取必要的庫文件
    我這里使用的時log4cpp動態庫版本,因此提取了log4cpp.lib和log4cpp.dll兩個文件,分別放在合適的地方
  • 4.2.提取頭文件
    提取log4cpp/include內的所有文件,也可以用路徑包含的方式指向該文件夾
  • 4.3.編寫配置文件
    參考測試實例的配置文件,可以按照自己的需要寫一份。我這里按照我的需要寫了一份,大家可以點擊這里進行下載,下載以后按照自己的需要進行修改下即可。
  • 4.4.編寫使用代碼
    參考實例中的代碼,可以很容易的實現調用,我這里就不累述了。

5.配置說明

  • 5.1.輸出格式含義
    %c category;
    %d 日期;日期可以進一步的設置格式,用花括號包圍,例如%d{%H:%M:%S,%l} 或者 %d{%d %m %Y %H:%M:%S,%l}。如果不設置具體日期格式,則如下默認格式被使用“Wed Jan 02 02:03:55 1980”。日期的格式符號與ANSI C函數strftime中的一致。但增加了一個格式符號%l,表示毫秒,占三個十進制位。
    %m 消息;
    %n 換行符,會根據平台的不同而不同,但對於用戶透明;
    %p 優先級;
    %r 自從layout被創建后的毫秒數;
    %R 從1970年1月1日0時開始到目前為止的秒數;
    %u 進程開始到目前為止的時鍾周期數;
    %x NDC。
  • 5.2.輸出形式列表
    log4cpp::IdsaAppender // 發送到IDS或者
    log4cpp::FileAppender // 輸出到文件
    log4cpp::RollingFileAppender // 輸出到回卷文件,即當文件到達某個大小后回卷
    log4cpp::OstreamAppender // 輸出到一個ostream類
    log4cpp::RemoteSyslogAppender // 輸出到遠程syslog服務器
    log4cpp::StringQueueAppender // 內存隊列
    log4cpp::SyslogAppender // 本地syslog
    log4cpp::Win32DebugAppender // 發送到缺省系統調試器
    log4cpp::NTEventLogAppender // 發送到win 事件日志

6.總結

log4cpp的日志庫是一個非常棒的三方開源項目,新版本對系統結構有了一個全新的設計。

7.參考資料

基於LGPL開源項目 Log4cpp安裝與使用


免責聲明!

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



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