log4cplus 在VS與Qt的基礎使用

2021-08-13 04:03:35 字數 2869 閱讀 8744

使用方法見:

開源日誌系統log4cplus(一) - 笑笑小白 -

準備工作:

—— 解壓,

用vs2015開啟

d:\code\third\log4cplus-1.2.1-rc2\msvc10\log4cplus.sln

編譯,—— 生成的.lib .dll .exe 位於:

d:\code\third\log4cplus-1.2.1-rc2\log4cplus-1.2.1-rc2\msvc10\win32\

bin.debug

bin.debug_unicode

bin.release

bin.release_unicode

四個目錄下

分別對應如下四種編譯方式:

2.1 vs win32工程使用:

新建win32工程,

//include .h file

#include

#include

#include

using

namespace log4cplus;

using

namespace log4cplus::helpers;

// link lib

#ifndef _debug

#pragma comment(lib,"log4cplusus.lib")

#else

#pragma comment(lib,"log4cplussd.lib")

#endif

int main()

- %m [%l]%n"));

std::auto_ptr

ppatternlayout(new patternlayout(log4cplus_text("%m %d %n")));

// 定義logger,並設定優先順序

logger ptestlogger = logger::getinstance(log4cplus_text("yulinxx"));

ptestlogger.setloglevel(all_log_level);

// 輸出日誌資訊

log4cplus_warn(ptestlogger, "hello, world!");

log4cplus_debug(ptestlogger, "this is a debug message");

log4cplus_info(ptestlogger, "this is a info message");

log4cplus_warn(ptestlogger, "this is a warn message");

log4cplus_error(ptestlogger, "this is a error message");

log4cplus_fatal(ptestlogger, "this is a fatal message");

return

0;}

即可

2.2

qt 需要使用 unicode編譯方式的lib,否則會鏈結不上

main.obj:-1: error: lnk2019: 無法解析的外部符號 「public: __thiscall log4cplus::patternlayout::patternlayout(class std::basic_string

#include "log4cplus/logger.h"

#include "log4cplus/layout.h"

#include "log4cplus/loggingmacros.h"

using

namespace log4cplus;

using

namespace log4cplus::helpers;

#pragma comment(lib,"d:/lib/log4cplusud.lib")

using

namespace

std;

using

namespace log4cplus;

using

namespace log4cplus::helpers;

#include

int main()

- %m [%l]%n"));

std::auto_ptr

ppatternlayout(new patternlayout(log4cplus_text("%m %d %n")));

// 定義logger,並設定優先順序

logger ptestlogger = logger::getinstance(log4cplus_text("sc_log"));

ptestlogger.setloglevel(all_log_level);

// 輸出日誌資訊

log4cplus_warn(ptestlogger, "hello, world!");

log4cplus_debug(ptestlogger, "this is a debug message");

log4cplus_info(ptestlogger, "this is a info message");

log4cplus_warn(ptestlogger, "this is a warn message");

log4cplus_error(ptestlogger, "this is a error message");

log4cplus_fatal(ptestlogger, "this is a fatal message");

return

0;}

log4cplus安裝測試

先介紹一下它的基本要素。layouts 布局器,控制輸出訊息的格式.如螢幕,檔案等等 logger 記錄器,儲存並跟蹤物件日誌資訊變更的實體,當你需要對乙個物件進行 記錄時,就需要生成乙個logger。categories 分類器,層次化 hierarchy 的結構,用於對被記錄資訊的分類,層次中 ...

log4cplus與g3log效能測試

g3log作者對spdlog的對比和嘲諷 乙個lockfree的queue,被g3log的作者推薦 簡單地對log4cplus和g3log的效能做了測試,列印1百萬條日誌資訊所需時間如下 linux windows log4cplus 同步4s 6s非同步 1.9s 64sg3log 非同步2.3s...

log4cplus在linux下的安裝和使用(1)

第一步 第二步 安裝tar xvzf log4cplus x.x.x.tar.gzsudo make install 第三步 確保你的makefile中包含 usr local lib liblog4cplus.a 靜態庫 或 llog4cplus 動態庫 即可,標頭檔案在 usr local in...