log4qt整合使用

2021-10-18 19:23:28 字數 2440 閱讀 1635

git clone
2.配置

qt裡面建專案如myproject,複製log4qt\src下面的log4qt目錄到新建專案裡面,例如複製到專案的跟目錄,我這邊的目錄結構是myproject裡面放的是新建的專案,myproject\log4qt是log4qt的原始碼。

開啟myproject.pro專案配置檔案,修改或增加以下內容:

qt       += core gui network concurrent  //為log4qt 增加network concurrent  

defines +=log4qt_static //說明不是通過dll匯入等方式去使用log4qt

log4qtsrcpath = $$pwd/log4qt //log4qt原始碼目錄

includepath += -l $$log4qtsrcpath \

$$log4qtsrcpath/helpers \

$$log4qtsrcpath/spi \

$$log4qtsrcpath/varia

dependpath += $$log4qtsrcpath \

$$log4qtsrcpath/helpers \

$$log4qtsrcpath/spi \

$$log4qtsrcpath/varia

include($$pwd/log4qt/log4qt.pri)

開啟log4qt/log4qt.pri檔案,增加以下內容(部分內容複製自build.pri)

includepath += -l $$pwd \

$$pwd/helpers \

$$pwd/spi \

$$pwd/varia

dependpath += $$pwd \

$$pwd/helpers \

$$pwd/spi \

$$pwd/varia

defines +=log4qt_static

log4qt_version_major = 1

log4qt_version_minor = 6

log4qt_version_patch = 0

defines += log4qt_version_major=$$

defines += log4qt_version_minor=$$

defines += log4qt_version_patch=$$

defines += log4qt_version_str='\\"$$.$$.$$\\"'

defines += qt_disable_deprecated_before=0x050f00

defines += qt_deprecated_warnings

編寫日誌輸出配置引數檔案資訊log4qt.conf

#設定儲存log檔案的根目錄

logpath=.

log4j.reset=true

log4j.debug=warn

log4j.threshold=null

#設定是否監聽qdebug輸出的字串

log4j.handleqtmessages=true

#在執行中,是否監視此檔案配置的變化

log4j.watchthisfile=false

#設定根logger的輸出log等級為all

log4j.rootlogger=all, console, daily

#設定終端列印記錄器

#設定乙個每日儲存乙個log檔案的記錄器

# 配置乙個滾動檔案記錄器

# 給「loggerobjectprio」這個類的logger定義log輸出等級為error,

# 給「loggerobjectprio」這個類的logger定義log輸出源:daily, console

log4j.logger.loggerobjectprio=error, rolling

log4j.additivity.loggerobjectprio=false

修改main.cpp,增加對log4qt的初始化相關**

#include #include "logmanager.h"

#include "propertyconfigurator.h"

... log4qt::logmanager::sethandleqtmessages(true);

qdebug("start working...");

複製log4qt.conf檔案到專案build編譯結果路徑,執行專案,在build路徑內就可以看到日誌檔案了,如下圖mylog_2021_02_03.log。

Qt使用Log4Qt寫日誌

log4qt 是apache log4j 的qt移植版 官網 首先初始化log4qt,設定配置檔案和訊息繫結 log4qt propertyconfigurator configure qtlog4qt.conf log4qt logmanager sethandleqtmessages true ...

Log4Qt使用筆記 三

在前面,我們提到,除了乙個根root之外,還可以有多個命名的logger存在,為了直觀,我們可以看logmanager的成員函式 奇怪,除了我們提到的,還有qtlogger和loglogger兩個東西存在,這兩個是什麼東西?原來 馬甲 真實身份 作用qtlogger logger qt 用來處理qt...

Log4Qt 使用筆記 一

沒用過log4j和log4cxx,初次接觸log4qt,還真有點頭昏腦脹,無論如何,先簡單記錄一下。log4qt 是apache log4j 的qt移植版,所以看log4j的資料應該是最直接有效的 因為log4qt的直接資料太少了 log4qt主要是用來記錄日誌 有助於程式除錯 有3個主要的元件 l...