91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

推薦3個非常不錯的開源日志庫

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

掃碼添加小助手

加入工程師交流群

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

因為我們不可能一直通過調試器去單步調試程序,所以設備的運行日志顯得尤為重要。

通常我們對日志有這些要求:

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

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

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

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

除了常用的log4c,log4cpp,下面給大家推薦3個非常不錯的開源日志庫,比較適合用在單片機的項目中。從開始的輕量,到后面的功能豐富,最后一個很強大,所以請耐心看到最后。

rxi_log

項目地址:https://github.com/rxi/log.c

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

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

具體用法

將源碼中的log.clog.h集成到你的項目中即可,需要打印日志的話,調用下面的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等等,詳情請看原項目。

ulog

項目地址:https://github.com/rdpoor/ulog

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

uLog 的一些特點:

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

EasyLogger

項目地址:https://github.com/armink/EasyLogger

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

這個項目我用了很長時間,強烈推薦,是RT-Thread大佬的作品,已經集成到RTOS的內部了,支持的功能非常豐富,基本滿足各種開發(fā)的需求。

特點如下:

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

以上只是這個項目的其中一部分,具體可以參考項目地址。

summary

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

審核編輯 :李倩


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

    關注

    6076

    文章

    45495

    瀏覽量

    670460
  • 日志系統(tǒng)

    關注

    0

    文章

    8

    瀏覽量

    7144
  • 開源
    +關注

    關注

    3

    文章

    4207

    瀏覽量

    46152

原文標題:高手常用的3個開源庫,讓單片機開發(fā)事半功倍!

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    模組日志功能技術概覽

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

    OpenTenBase核心貢獻者分享開源數(shù)據的破局之路

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

    炎核開源開放平臺上架推出OpenSparseBlas高性能稀疏計算

    在科學計算與工程仿真領域,高效處理大規(guī)模稀疏矩陣運算是提升整體計算效能的關鍵。為此,我們在炎核開源開放平臺上架推出 OpenSparseBlas——一專為稀疏矩陣/向量計算而打造的高性能稀疏計算
    的頭像 發(fā)表于 12-15 15:18 ?639次閱讀

    數(shù)據數(shù)據恢復—服務器異常斷電導致Oracle數(shù)據故障的數(shù)據恢復案例

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

    電商API日志分析的實用工具

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

    飛書富文本組件RichTextVista開源

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

    請問EZ-Serial固件是否使用任何OSS(開源軟件)或軟件?

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

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

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

    詳解journalctl日志管理

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

    3D AD文件

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

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

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

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

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

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

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

    Open Echo:一開源的聲納項目

    “ ?這是一還在迭代中的項目。開源的回聲測深儀/水深測量儀/聲吶系統(tǒng),適用于水文測繪及科研用途?;贏rduino平臺開發(fā)并具備良好兼容性? ” ? Open Echo 概覽 作為持續(xù)迭代
    的頭像 發(fā)表于 03-20 11:14 ?2641次閱讀
    Open Echo:一<b class='flag-5'>個</b><b class='flag-5'>開源</b>的聲納項目

    開源項目!教你如何制作一開源教育機械臂

    和適應性強的機器人平臺。 作為一開源項目,構建Pedro所需的所有文件都可以在Pedro Github頁面上找到: 用于3D打印和定制的STL文件。 Gerber文件來制造您自己的Pedro板
    發(fā)表于 03-10 11:22