|
關注+星標公眾號,不錯過精彩內(nèi)容
來源 | Github
編排 | strongerHuang
單片機項目在很多時候都需要調(diào)試,通過日志診斷bug是常見的一種調(diào)試方法。
下面就給大家分享一個開源的適合單片機的輕量級日志庫,只有l(wèi)og.c 和 log.h 兩個文件,使用非常方便。
開源地址:
https://github.com/rxi/log.c
mjgrlzouzck6406921426.png (55.61 KB, 下載次數(shù): 2)
下載附件
保存到相冊
mjgrlzouzck6406921426.png
2024-10-17 07:30 上傳
用法
這個日志庫的使用比較簡單,新手完全可以勝任。
1、概述在你的項目中添加 log.c 和 log.h 文件。
提供 6 用于日志記錄的類似函數(shù)的宏:log_trace(const char *fmt, ...);log_debug(const char *fmt, ...);log_info(const char *fmt, ...);log_warn(const char *fmt, ...);log_error(const char *fmt, ...);log_fatal(const char *fmt, ...);
每個函數(shù)都采用一個 printf 格式字符串,后跟其他參數(shù):log_trace("Hello %s", "world")
生成一行給定格式的行打印到 stderr:20:18:26 TRACE src/main.c:11: Hello world
2、接口描述log_set_quiet(bool enable)可以通過傳遞給函數(shù)來啟用Quiet安靜模式(不輸入日志)。
啟用此模式時,庫不會向輸出任何內(nèi)容,但是將繼續(xù)寫入文件和回調(diào)(如果已設置)。truelog_set_quiet()stderr
log_set_level(int level)可以使用該函數(shù)設置當前日志記錄級別。不會將低于給定級別的所有日志寫入 。默認情況下級別為LOG_TRACE, ,即不忽略任何內(nèi)容。log_set_level()stderrLOG_TRACE
log_add_fp(FILE *fp, int level)可以將一個或多個將寫入日志的文件指針提供給庫,通過使用函數(shù)。寫入文件的數(shù)據(jù)輸出采用以下格式:log_add_fp()
2047-03-11 20:18:26 TRACE src/main.c:11: Hello world
給定值以下的任何消息都將被忽略。如果庫無法添加文件指針返回小于零的值。
log_add_callback(log_LogFn fn, void *udata, int level)使用日志數(shù)據(jù)調(diào)用的一個或多個回調(diào)函數(shù)可以是 通過使用函數(shù)提供給庫;卣{(diào) 函數(shù)傳遞一個包含數(shù)字、、字符串、printf va_list和給定 .log_add_callback()log_Eventlinefilenamefmtvaleveludata
log_set_lock(log_LockFn fn, void *udata)如果日志將從多個線程寫入,則可以設置鎖定函數(shù)。如果應該獲取鎖,或者是否應該釋放鎖并給定值,則該函數(shù)將傳遞布爾值。truefalseudata
const char* log_level_string(int level)以字符串形式返回給定日志級別的名稱。
LOG_USE_COLOR
如果使用-DLOG_USE_COLOR編譯庫,則在打印時將使用ANSI轉(zhuǎn)義碼。
開源協(xié)議
該庫為免費軟件庫,但你需要對應的 MIT 許可證條款。------------ END ------------
usaz1px5za46406921526.gif (71.87 KB, 下載次數(shù): 2)
下載附件
保存到相冊
usaz1px5za46406921526.gif
2024-10-17 07:30 上傳
●專欄《嵌入式工具》●專欄《嵌入式開發(fā)》●專欄《Keil教程》●嵌入式專欄精選教程
關注公眾號回復“加群”按規(guī)則加入技術交流群,回復“1024”查看更多內(nèi)容。
點擊“閱讀原文”查看更多分享。 |
|