把excel做數(shù)據(jù)庫(kù)分享成網(wǎng)站2021百度模擬點(diǎn)擊工具
7. 日志系統(tǒng)框架設(shè)計(jì)
本項(xiàng)?實(shí)現(xiàn)的是?個(gè)多日志器日志系統(tǒng),主要實(shí)現(xiàn)的功能是讓程序員能夠輕松的將程序運(yùn)行日志信息落地到指定的位置,且?持同步與異步兩種方式的日志落地方式。
項(xiàng)目的框架設(shè)計(jì)將項(xiàng)目分為以下幾個(gè)模塊來(lái)實(shí)現(xiàn)。
日志等級(jí)模塊
日志等級(jí)模塊:對(duì)輸出日志的等級(jí)進(jìn)?劃分,以便于控制日志的輸出,并提供等級(jí)枚舉轉(zhuǎn)字符串功能。
? OFF:關(guān)閉
? DEBUG:調(diào)試,調(diào)試時(shí)的關(guān)鍵信息輸出。
? INFO:提?,普通的提?型?志信息。
? WARN:警告,不影響運(yùn)?,但是需要注意?下的?志。
? ERROR:錯(cuò)誤,程序運(yùn)?出現(xiàn)錯(cuò)誤的?志
? FATAL:致命,?般是代碼異常導(dǎo)致程序?法繼續(xù)推進(jìn)運(yùn)?的?志
日志消息模塊
?志消息模塊:中間存儲(chǔ)?志輸出所需的各項(xiàng)要素信息
? 時(shí)間:描述本條?志的輸出時(shí)間。
? 線程ID:描述本條?志是哪個(gè)線程輸出的。
? ?志等級(jí):描述本條?志的等級(jí)。
? ?志數(shù)據(jù):本條?志的有效載荷數(shù)據(jù)。
? ?志?件名:描述本條?志在哪個(gè)源碼?件中輸出的。
? ?志?號(hào):描述本條?志在源碼?件的哪??輸出的。
日志消息格式化模塊
?志消息格式化模塊:設(shè)置?志輸出格式,并提供對(duì)?志消息進(jìn)?格式化功能。
? 系統(tǒng)的默認(rèn)?志輸出格式:%d{%H:%M:%S}%T[%t]%T[%p]%T[%c]%T%f:%l%T%m%n
? -> 13:26:32 [2343223321] [FATAL] [root] main.c:76 套接字創(chuàng)建失敗\n
? %d{%H:%M:%S}:表??期時(shí)間,花括號(hào)中的內(nèi)容表??期時(shí)間的格式。
? %T:表?制表符縮進(jìn)。
? %t:表?線程ID
? %p:表??志級(jí)別
? %c:表??志器名稱,不同的開(kāi)發(fā)組可以創(chuàng)建??的?志器進(jìn)??志輸出,?組之間互不影響。
? %f:表??志輸出時(shí)的源代碼?件名。
? %l:表??志輸出時(shí)的源代碼?號(hào)。
? %m:表?給與的?志有效載荷數(shù)據(jù)
? %n:表?換?
? 設(shè)計(jì)思想:設(shè)計(jì)不同的?類,不同的?類從?志消息中取出不同的數(shù)據(jù)進(jìn)?處理。
日志消息落地模塊
日志消息落地模塊:決定了?志的落地?向,可以是標(biāo)準(zhǔn)輸出,也可以是?志?件,也可以滾動(dòng)?件輸出…
? 標(biāo)準(zhǔn)輸出:表?將?志進(jìn)?標(biāo)準(zhǔn)輸出的打印。
? ?志?件輸出:表?將?志寫(xiě)?指定的?件末尾。
? 滾動(dòng)?件輸出:當(dāng)前以?件??進(jìn)?控制,當(dāng)?個(gè)?志?件??達(dá)到指定??,則切換下?個(gè)?件進(jìn)?輸出
? 后期,也可以擴(kuò)展遠(yuǎn)程?志輸出,創(chuàng)建客?端,將?志消息發(fā)送給遠(yuǎn)程的?志分析服務(wù)器。
? 設(shè)計(jì)思想:設(shè)計(jì)不同的?類,不同的?類控制不同的?志落地?向。
日志器模塊
? 此模塊是對(duì)以上?個(gè)模塊的整合模塊,??通過(guò)?志器進(jìn)??志的輸出,有效降低??的使?難度。
? 包含有:?志消息落地模塊對(duì)象,?志消息格式化模塊對(duì)象,?志輸出等級(jí)
日志器管理模塊
? 為了降低項(xiàng)?開(kāi)發(fā)的?志耦合,不同的項(xiàng)?組可以有??的?志器來(lái)控制輸出格式以及落地?向,因此本項(xiàng)?是?個(gè)多?志器的?志系統(tǒng)。
? 管理模塊就是對(duì)創(chuàng)建的所有?志器進(jìn)?統(tǒng)?管理。并提供?個(gè)默認(rèn)?志器提供標(biāo)準(zhǔn)輸出的?志輸出。
異步線程模塊
實(shí)現(xiàn)對(duì)?志的異步輸出功能,??只需要將輸出?志任務(wù)放?任務(wù)池,異步線程負(fù)責(zé)?志的落地輸出功能,以此提供更加?效的?阻塞?志輸出。