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...