CloudLog云控日志是一款功能強(qiáng)大的日志管理工具,可以接收來(lái)自電腦、手機(jī)和嵌入式系統(tǒng)(如stm32單片機(jī))等的日志,并實(shí)現(xiàn)統(tǒng)一的保存、處理和顯示。無(wú)論您是在本地使用還是遠(yuǎn)程及云端使用,CloudLog都能滿足您的需求。
對(duì)于電腦及嵌入式系統(tǒng)本地使用,推薦以下方法:
1.Windows電腦應(yīng)用軟件可以?xún)?yōu)先使用WM_COPYDATA消息,它占用資源最少且速度最快。
2.如果您的應(yīng)用軟件已經(jīng)帶有UDP或TCP功能,可以直接使用原有的Socket將日志發(fā)送到127…1。
3.對(duì)于嵌入式系統(tǒng)的本地調(diào)試,您可以使用串口、USB或網(wǎng)口進(jìn)行通信。
對(duì)于遠(yuǎn)程及云端日志使用,您可以考慮以下方法:
1.在路由器中使用轉(zhuǎn)發(fā)功能,將對(duì)應(yīng)的端口轉(zhuǎn)發(fā)到運(yùn)行CloudLog的電腦上。
2.使用動(dòng)態(tài)域名系統(tǒng)(DDNS)獲取電腦所在的IP地址,以便遠(yuǎn)程訪問(wèn)。
3.在服務(wù)器上使用云控域名賬號(hào)保存日志,這樣您隨時(shí)可以打開(kāi)CloudLog并回讀所有未讀過(guò)的日志。
CloudLog使用了一些關(guān)鍵的日志元素,包括:
1.日志等級(jí)(Log Level):用于確認(rèn)日志的重要性。
2.日期時(shí)間Tick(Date Time tick):用于確認(rèn)日志生成的時(shí)刻。
3.應(yīng)用名(App Name):用于確認(rèn)日志來(lái)源的項(xiàng)目或進(jìn)程。
4.標(biāo)簽(Tag):用于按模塊化區(qū)分日志。
5.線程標(biāo)識(shí)符(Thread Identity):用于區(qū)分多線程。
6.文字內(nèi)碼(Text Code):用于實(shí)時(shí)調(diào)整當(dāng)前的內(nèi)碼。
7.日志文字(Log Text):可以使用任何內(nèi)碼表示日志內(nèi)容。
8.日志緩沖(Log Buffer):可以傳送陣列緩沖的日志內(nèi)容。
9.計(jì)時(shí):可以根據(jù)前一條日志的tick計(jì)算出精確到1微秒的用時(shí)。
CloudLog支持多種日志等級(jí),用于標(biāo)識(shí)日志的重要程度和用途,包括:
1.Error:嚴(yán)重的問(wèn)題或軟件執(zhí)行功能錯(cuò)誤,級(jí)別最高,不可以屏蔽。
2.Warn:可能出現(xiàn)潛在錯(cuò)誤的情形,選擇為Error級(jí)別時(shí)不顯示。
3.Info:強(qiáng)調(diào)應(yīng)用程序運(yùn)行過(guò)程的一些重要信息。
4.Debug:僅在開(kāi)發(fā)期間有用的調(diào)試消息,級(jí)別較低,一般不會(huì)在正式發(fā)布時(shí)出現(xiàn)。
5.Buffer:陣列數(shù)值直接顯示級(jí)別與Debug相同。
6.Fixer:固定位置顯示日志,不保存到log文件。
除了日志等級(jí)過(guò)濾外,CloudLog還支持其他過(guò)濾器功能,包括:
1.根據(jù)日志等級(jí)及各種組合來(lái)過(guò)濾日志記錄。
2.關(guān)鍵詞高亮顯示,并可以調(diào)整字體加粗、顏色突出顯示。
3.可以選擇從日志文字中指定關(guān)鍵詞不顯示或顯示。
4.可以選擇從應(yīng)用名中指定關(guān)鍵詞顯示。
5.可以選擇從標(biāo)簽中指定關(guān)鍵詞顯示。
CloudLog使用鍵值對(duì)風(fēng)格的文字表示日志信息,具體包括:
1.使用’&’分隔各個(gè)日志元素,元素由鍵值’:’數(shù)值組成。
2.日期時(shí)間Tick、日志文字及日志緩沖的數(shù)值使用Base64編碼。
3.應(yīng)用名、標(biāo)簽及線程標(biāo)識(shí)符通常只使用數(shù)字或字母。
4.日期時(shí)間可以選擇不傳送、2字節(jié)的毫秒、3字節(jié)的微秒或8字節(jié)的完整時(shí)間。
5.一個(gè)簡(jiǎn)單的示例:”hello”日志可以表示為:ll:D<aGVsbG8=
除了鍵值對(duì)風(fēng)格的文字格式,CloudLog還支持簡(jiǎn)易風(fēng)格的文字格式,具體特點(diǎn)如下:
1.使用空格分隔各個(gè)日志元素,不能調(diào)換元素的順序。
2.最少包含日志等級(jí)(LL)和文字信息(LT)。
3.日志緩沖(LB)表示為L(zhǎng)L+LT4+文字,其中LT4表示4位數(shù)值從000到9999代表最大10秒的毫秒tick。
4.標(biāo)簽(TAG)用于按模塊化區(qū)分日志,一般使用字母表示。
5.線程標(biāo)識(shí)符(TI)為-9的數(shù)字表示線程標(biāo)識(shí)符。
6.文字內(nèi)碼(TC)可以表示為G=GBK內(nèi)碼或U=UTF-8內(nèi)碼。
如果您想使用開(kāi)源庫(kù)CloudLog,可以按照以下步驟進(jìn)行:
1.直接從https://gitee.com/hsav20/CloudLog.git克隆該庫(kù)。
2.將CloudLog.c和CloudLog.h文件添加到您的項(xiàng)目中。
3.在PlatformX目錄中,選擇一個(gè)與您平臺(tái)最接近的模板文件(例如FwbConf.h),并將其復(fù)制到您的項(xiàng)目中。
4.修改FwbConf.h文件的配置,以適應(yīng)您的使用環(huán)境。
5.參考PlatformWindows目錄下的main.c文件,您可以輸出各種類(lèi)型的日志。
6.PlatformWindows\KeysGbk或KeysUtf8可直接運(yùn)行xmake編譯。
如果您需要進(jìn)一步了解CloudLog的用法或有其他問(wèn)題,歡迎咨詢(xún)。