chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

推薦3個(gè)非常不錯(cuò)的開(kāi)源日志庫(kù)

GReq_mcu168 ? 來(lái)源:小麥大叔 ? 作者:小麥大叔 ? 2022-05-12 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

日志系統(tǒng)在系統(tǒng)開(kāi)發(fā)和調(diào)整過(guò)程中的重要性,想必大家應(yīng)該都清楚。特別是項(xiàng)目出問(wèn)題之后,卻沒(méi)有日志可以幫忙定位問(wèn)題,就非常令人痛苦。

因?yàn)槲覀儾豢赡芤恢蓖ㄟ^(guò)調(diào)試器去單步調(diào)試程序,所以設(shè)備的運(yùn)行日志顯得尤為重要。

通常我們對(duì)日志有這些要求:

  • 不同的日志級(jí)別(Debug,Warning,Info,Error,Fatal);
  • 日志打印要和printf一樣簡(jiǎn)單易用;
  • 能夠設(shè)置日志級(jí)別;
  • 占用空間?。?/li>
  • 可配置,甚至可以禁用日志;
  • 基于不同日志級(jí)別,支持顏色高亮;
  • 可以自定義配置,時(shí)間戳;
  • 支持RTOS;

以上是比較基本的功能,但是在嵌入式設(shè)備中,有的時(shí)候我們希望可以保存設(shè)備的運(yùn)行日志,我們需要以下的一些功能;

  • 支持多種訪問(wèn)方式,比如串口終端,保存到嵌入式文件系統(tǒng)中;
  • 支持shell命令行通過(guò)串口終端進(jìn)行訪問(wèn);

以上這些需求不一定會(huì)全部實(shí)現(xiàn)。

除了常用的log4c,log4cpp,下面給大家推薦3個(gè)非常不錯(cuò)的開(kāi)源日志庫(kù),比較適合用在單片機(jī)的項(xiàng)目中。從開(kāi)始的輕量,到后面的功能豐富,最后一個(gè)很強(qiáng)大,所以請(qǐng)耐心看到最后。

rxi_log

項(xiàng)目地址:https://github.com/rxi/log.c

基于 C99 實(shí)現(xiàn)的簡(jiǎn)單日志庫(kù),具體輸出如下所示;

0d58c684-d1bc-11ec-bce3-dac502259ad0.pngimage-20211204142024466

具體用法

將源碼中的log.clog.h集成到你的項(xiàng)目中即可,需要打印日志的話,調(diào)用下面的API即可,如下所示;

log_trace(constchar*fmt,...);
log_debug(constchar*fmt,...);
log_info(constchar*fmt,...);
log_warn(constchar*fmt,...);
log_error(constchar*fmt,...);
log_fatal(constchar*fmt,...);

除了這些API,還有log_set_quiet,log_set_lock,LOG_USE_COLOR等等,詳情請(qǐng)看原項(xiàng)目。

ulog

項(xiàng)目地址:https://github.com/rdpoor/ulog

uLog 為嵌入式微控制器或任何資源有限的系統(tǒng)提供結(jié)構(gòu)化的日志記錄機(jī)制。它繼承了流行的Log4cLog4j平臺(tái)背后的一些概念,但開(kāi)銷更低。

uLog 的一些特點(diǎn):

  • uLog 易于集成到幾乎任何環(huán)境中,由一個(gè)頭文件和一個(gè)源文件組成,并且是用純 C 編寫的。
  • uLog 提供熟悉的嚴(yán)重級(jí)別(CRITICAL、ERROR、WARNING、INFO、DEBUG、TRACE)。
  • uLog 支持多個(gè)用戶定義的輸出(控制臺(tái)、日志文件、內(nèi)存緩沖區(qū)等),每個(gè)輸出都有自己的報(bào)告閾值級(jí)別。
  • uLog 是具有最小依賴性的“積極獨(dú)立”,僅需要 stdio.h、string.h 和 stdarg.h。
  • 當(dāng)您不使用 uLog 時(shí),它不會(huì)妨礙您:如果 ULOG_ENABLED 在編譯時(shí)未定義,則不會(huì)生成日志記錄代碼。
  • uLog 已經(jīng)過(guò)很好的測(cè)試。有關(guān)詳細(xì)信息,請(qǐng)參閱隨附的 ulog_test.c 文件。
0d985fe2-d1bc-11ec-bce3-dac502259ad0.pngcolor coding

EasyLogger

項(xiàng)目地址:https://github.com/armink/EasyLogger

0dbeb408-d1bc-11ec-bce3-dac502259ad0.pngTextColor

這個(gè)項(xiàng)目我用了很長(zhǎng)時(shí)間,強(qiáng)烈推薦,是RT-Thread大佬的作品,已經(jīng)集成到RTOS的內(nèi)部了,支持的功能非常豐富,基本滿足各種開(kāi)發(fā)的需求。

特點(diǎn)如下:

  • 輕量,ROM<1.6K, RAM<0.3K;
  • 支持多種訪問(wèn)模式(例如:終端、文件、數(shù)據(jù)庫(kù)、串口、485、Flash...);
  • 日志內(nèi)容可包含級(jí)別、時(shí)間戳、線程信息、進(jìn)程信息等;
  • 線程安全,并支持異步輸出緩沖輸出模式;
  • 支持多種操作系統(tǒng)(RT-Thread、UCOSLinux、Windows...),也支持裸機(jī)平臺(tái);
  • 日志支持RAW格式,支持hexdump;
  • 支持按標(biāo)簽級(jí)別、關(guān)鍵詞進(jìn)行動(dòng)態(tài)過(guò)濾;
  • 各級(jí)別日志支持不同顏色顯示;
  • 擴(kuò)展性強(qiáng),支持以插件形式擴(kuò)展新功能。

以上只是這個(gè)項(xiàng)目的其中一部分,具體可以參考項(xiàng)目地址。

summary

希望大家在平常的開(kāi)發(fā)中,重視日志的使用,每一個(gè)開(kāi)發(fā)階段設(shè)置不同級(jí)別的日志,不同的模塊也分別設(shè)置模塊的日志,這樣方便定位出現(xiàn)一些問(wèn)題,快速解決,提高效率。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6077

    文章

    45515

    瀏覽量

    671695
  • 日志系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    7146
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    4244

    瀏覽量

    46282

原文標(biāo)題:高手常用的3個(gè)開(kāi)源庫(kù),讓單片機(jī)開(kāi)發(fā)事半功倍!

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    模組日志功能技術(shù)概覽

    模組日志功能技術(shù)方案以低侵入、高可用為原則,提供統(tǒng)一的日志API、多級(jí)日志分類與條件輸出機(jī)制。通過(guò)集成該技術(shù),開(kāi)發(fā)者可在不干擾業(yè)務(wù)邏輯的前提下,全面掌握模組的執(zhí)行狀態(tài)與異常行為。 一、本文討論的邊界
    的頭像 發(fā)表于 01-14 15:32 ?159次閱讀
    模組<b class='flag-5'>日志</b>功能技術(shù)概覽

    OpenTenBase核心貢獻(xiàn)者分享開(kāi)源數(shù)據(jù)庫(kù)的破局之路

    “在開(kāi)源數(shù)據(jù)庫(kù)已成一片‘紅海’的當(dāng)下,單純比拼‘快’或‘省’,已很難在開(kāi)發(fā)者心中建立獨(dú)特的護(hù)城河?!監(jiān)penTenBase核心貢獻(xiàn)者、騰訊云數(shù)據(jù)庫(kù)專家工程師李晉鋼這樣闡述他對(duì)當(dāng)前數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 12-29 14:00 ?456次閱讀

    炎核開(kāi)源開(kāi)放平臺(tái)上架推出OpenSparseBlas高性能稀疏計(jì)算庫(kù)

    在科學(xué)計(jì)算與工程仿真領(lǐng)域,高效處理大規(guī)模稀疏矩陣運(yùn)算是提升整體計(jì)算效能的關(guān)鍵。為此,我們?cè)谘缀?b class='flag-5'>開(kāi)源開(kāi)放平臺(tái)上架推出 OpenSparseBlas——一個(gè)專為稀疏矩陣/向量計(jì)算而打造的高性能稀疏計(jì)算庫(kù)
    的頭像 發(fā)表于 12-15 15:18 ?773次閱讀

    使用littlefs存儲(chǔ)ulog日志,然后讀日志文件會(huì)出錯(cuò),為什么?

    使用littlefs存儲(chǔ)ulog日志,然后通過(guò)命令讀取日志文件,或者通過(guò)API接口讀取或拷貝日志文件,都會(huì)導(dǎo)致線程卡死,嘗試了多種方法都不行,有沒(méi)有大佬有遇到或者處理過(guò)類似問(wèn)題? 改成fatfs來(lái)存
    發(fā)表于 09-29 06:14

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫(kù)故障的數(shù)據(jù)恢復(fù)案例

    備份,僅有一些斷斷續(xù)續(xù)的歸檔日志。 Oracle數(shù)據(jù)庫(kù)恢復(fù)流程: 1、檢測(cè)數(shù)據(jù)庫(kù)故障情況; 2、嘗試掛起并修復(fù)數(shù)據(jù)庫(kù)3、解析
    的頭像 發(fā)表于 07-24 11:12 ?699次閱讀
    數(shù)據(jù)<b class='flag-5'>庫(kù)</b>數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)<b class='flag-5'>庫(kù)</b>故障的數(shù)據(jù)恢復(fù)案例

    電商API日志分析的實(shí)用工具

    ? 在當(dāng)今數(shù)字化電商時(shí)代,API(應(yīng)用程序編程接口)已成為平臺(tái)與外部系統(tǒng)交互的核心通道。電商API日志記錄了每一次請(qǐng)求的詳細(xì)信息,包括用戶行為、交易狀態(tài)、錯(cuò)誤響應(yīng)等。分析這些日志能幫助企業(yè)監(jiān)控性能
    的頭像 發(fā)表于 07-23 15:50 ?689次閱讀
    電商API<b class='flag-5'>日志</b>分析的實(shí)用工具

    飛書富文本組件庫(kù)RichTextVista開(kāi)源

    近日,飛書正式將其自研的富文本組件庫(kù) RichTextVista(簡(jiǎn)稱“RTV”)開(kāi)源,并上線OpenHarmony 三方庫(kù)中心倉(cāng)。該組件以領(lǐng)先的性能、流暢的渲染體驗(yàn)與高度的開(kāi)放性,為鴻蒙生態(tài)提供了更高效的富文本解決方案。
    的頭像 發(fā)表于 07-16 16:47 ?1052次閱讀

    請(qǐng)問(wèn)EZ-Serial固件是否使用任何OSS(開(kāi)源軟件)庫(kù)或軟件?

    EZ-Serial 固件是否使用任何 OSS(開(kāi)源軟件)庫(kù)或軟件?
    發(fā)表于 07-02 08:14

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫(kù)故障: SQL Server數(shù)據(jù)庫(kù)被加密,無(wú)法使用。 數(shù)據(jù)庫(kù)MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?729次閱讀
    數(shù)據(jù)<b class='flag-5'>庫(kù)</b>數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)<b class='flag-5'>庫(kù)</b>被加密如何恢復(fù)數(shù)據(jù)?

    詳解journalctl日志管理

    systemd 提供了自己的日志系統(tǒng)(logging system),稱為 journal。使用 systemd 日志,無(wú)需額外安裝日志服務(wù)(syslog)。
    的頭像 發(fā)表于 06-05 17:22 ?1643次閱讀
    詳解journalctl<b class='flag-5'>日志</b>管理

    3D AD庫(kù)文件

    3D庫(kù)文件
    發(fā)表于 05-28 13:57 ?6次下載

    全棧開(kāi)發(fā)進(jìn)階指南:LuatOS-log庫(kù)從入門到實(shí)戰(zhàn)!

    的log庫(kù)! 一、 log.info()? ? log info()主要打印一些正常的信息。比如,記錄程序的啟動(dòng)信息、某個(gè)模塊的初始化完成、重要業(yè)務(wù)流程的執(zhí)行等。? 我們利用log.info(),可以清晰了解程序的執(zhí)行順序。 tag為日志標(biāo)識(shí),標(biāo)識(shí)
    的頭像 發(fā)表于 05-15 16:12 ?2899次閱讀
    全棧開(kāi)發(fā)進(jìn)階指南:LuatOS-log<b class='flag-5'>庫(kù)</b>從入門到實(shí)戰(zhàn)!

    解鎖LuatOS-log庫(kù):全棧工程師的日志管理實(shí)戰(zhàn)課!

    針對(duì)全棧開(kāi)發(fā)者設(shè)計(jì)的實(shí)戰(zhàn)教程,本文聚焦LuatOS平臺(tái)log庫(kù)的高效使用,從基礎(chǔ)配置到高級(jí)調(diào)試策略,手把手教你搭建可擴(kuò)展的日志系統(tǒng),提升項(xiàng)目維護(hù)效率。 今天,我們一起來(lái)認(rèn)識(shí)LuatOS的log庫(kù)
    的頭像 發(fā)表于 05-12 15:23 ?1556次閱讀
    解鎖LuatOS-log<b class='flag-5'>庫(kù)</b>:全棧工程師的<b class='flag-5'>日志</b>管理實(shí)戰(zhàn)課!

    如何在CentOS系統(tǒng)中部署ELK日志分析系統(tǒng)

    日志分析已成為企業(yè)監(jiān)控、故障排查和性能優(yōu)化的重要組成部分。ELK(Elasticsearch、Logstash 和 Kibana)堆棧作為一種強(qiáng)大的開(kāi)源解決方案,提供了高效的日志收集、存儲(chǔ)和可視化
    的頭像 發(fā)表于 05-08 11:47 ?1083次閱讀
    如何在CentOS系統(tǒng)中部署ELK<b class='flag-5'>日志</b>分析系統(tǒng)

    基于RV1126開(kāi)發(fā)板限制系統(tǒng)日志大小教程

    的系統(tǒng)日志主要保存在/var/log目錄中,當(dāng)對(duì)一臺(tái)服務(wù)器進(jìn)行任何操作都會(huì)有日志產(chǎn)生,如果服務(wù)器一年中沒(méi)有特別重要的情況發(fā)生,那么這些日志保留下來(lái)就會(huì)占用服務(wù)器的空間,所以系統(tǒng)日志的管
    的頭像 發(fā)表于 04-16 11:18 ?779次閱讀
    基于RV1126開(kāi)發(fā)板限制系統(tǒng)<b class='flag-5'>日志</b>大小教程