embedlog:極致輕量的嵌入式日誌框架!

前言

最近做嵌入式調試,是不是老覺得日誌輸出又慢又佔空間?標準 printf、syslog、各種庫,啥都有,可要麼臃腫得像頭大象,要麼靈活性不給力。今天給大家安利一個 C89 寫的超輕量級日誌框架——em)bedlog,讓你的日誌輸出又快又小,還能隨心所欲多路輸出。

embedlog 是什麼?

簡單一句話:embedlog 是個專爲嵌入式和資源受限系統設計的日誌管理庫。

解決了哪些痛點?

你有沒有遇到過:

embedlog 一舉搞定:可編譯選項精簡代碼,多線程安全單行加鎖,多輸出流自動管理,文件輪轉隨心設。

核心功能亮點

ihPCwp

使用示例

#include <embedlog.h>

intmain(void){
    el_init();
    el_set_timestamp(EL_TS_LONG, EL_TS_TM_REALTIME, EL_TS_FRACT_US);
    el_print_extra_info(1);
    el_enable_file_log("/tmp/log.txt",5,512*1024);
    el_print(ELN,"日誌開始記錄,多路輸出 OK!");
    el_print(ELF,"致命錯誤示例");
    el_pmemory(ELN, some_buffer, buffer_len);
    el_cleanup();
return0;
}

上面代碼會同時把日誌打到 stderr 和 /tmp/log.txt,自動輪轉 5 個文件,每個最大 512KB,還帶時間戳、文件 / 行信息。

優缺點對比

n1dq6D

總結與推薦

embedlog 就像在你項目裏插了個開關:需要什麼日誌功能,就開哪個,性能、內存都給你最大留白。不管是深度嵌入式還是普通 C/C++ 應用,都能輕鬆上手,日誌管理從此不再臃腫。強烈建議給下個項目配上它,調試、監控、出問題追蹤都更省心!

項目地址: https/github.com/mlyszczek/embedlog

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/R0s9F_ZOayQjxTozaOEoyQ