log4cplus使用 三 日誌重定向

2022-01-30 12:29:21 字數 1519 閱讀 4867

log4cplus初始化成功之後,把自定義輸出裝置新增到logger中,當使用者向logger中輸出資訊時,logger會遍歷自身的所有輸出裝置,

並按輸出裝置上的指定格式輸出資訊。

log4cplus是執行緒安全的,因此在多執行緒下可以放心使用

在小工具編寫的過程中,作者遇到了esp

crash問題,在網上了找了好久的資料,也沒搞好,後來當然是解決了,原因:我的小工具是用vs2013寫的,log4cplus庫使用vs2010編

譯的,後來用vs2013編譯了下log4cplus,小工具一切正常;不過log4cplus自帶的事例**卻開始crash了(vs2010下正

更新乙個widget,當執行緒w關閉時,關閉掉所有由w建立的子執行緒r,然後關閉serversocket。r執行緒接收的資料使用拋事件的方式傳遞給

widget,當然不是直接拋給widget,而是有乙個專門處理事件的執行緒,接收各種不同的事件,然後通過訊號槽,傳送到指定視窗,視窗更新到介面上。

效果如圖1所示

圖1主要的類說明:

1、工作者執行緒,監聽訊息事件

class messagelistening : public qthread

2、幫助工作者執行緒處理業務的物件,使用者監聽客戶端的連線請求

class work : public qobject

工作者執行緒

class workthread : public qthread

3、工作者執行緒,監聽訊息事件

class messagelistening : public qthread

4、伺服器端執行緒,負責和客戶端進行互動

class clientthread : public log4cplus::thread::abstractthread

5、小工具主視窗 負責接收並顯示日誌資訊

class debughelper : public qwidget

6、使用者列表,顯示當前連線的使用者+預設+建立的使用者

class ccuserlistwidget : public qtreewidget

8、日誌過濾資料來源 負責提供給檢視過濾後的資料,資料來源來自qstandarditemmodel

class ccsortfilterproxymodel : public qsortfilterproxymodel

9、日誌視窗 針對每個使用者new乙個

class cclogtablewidget : public qwidget

10、本地日誌載入建立 用於比對多個不同**的日誌

class ccloglistwidget : public qwidget

如果您覺得文章不錯,不妨給個打賞,寫作不易,感謝各位的支援。您的支援是我最大的動力,謝謝!!! 

很重要--**宣告

奮鬥中的無名小卒。。。

很重要--**宣告

log4cplus使用 三 日誌重定向

效果如圖1所示 圖1 主要的類說明 1 工作者執行緒,監聽訊息事件 class messagelistening public qthread 2 幫助工作者執行緒處理業務的物件,使用者監聽客戶端的連線請求 class work public qobject 工作者執行緒 class workthr...

開源日誌系統 log4cplus 三

本文介紹了三種控制輸出格式的布局管理器的概念和使用情況,通過掌握這些知識,可以更有效地控制log系統輸出盡可能貼近你需求的資訊來。如何控制輸出訊息的格式 前面已經講過,log4cplus通過布局器 layouts 來控制輸出的格式,log4cplus提供了三種型別的layouts,分別是 layou...

開源日誌系統log4cplus 三

本文介紹了三種控制輸出格式的布局管理器的概念和使用情況,通過掌握這些知識,可以更有效地控制log系統輸出盡可能貼近你需求的資訊來。如何控制輸出訊息的格式 前面已經講過,log4cplus通過布局器 layouts 來控制輸出的格式,log4cplus提供了三種型別的layouts,分別是 layou...