這裡是我之前最常用的日誌庫的**,所有操作幾乎都是通過巨集實現。只需要修改 fprintf 的引數就可以很容易的重定向的不同的檔案或者終端。
**簡單易懂,全部是巨集的實現
跨平台,支援android,linux,macos,windows
易擴充套件,只需要簡單的封裝就可以日誌實現重定向
使用者友好,不同級別日誌顯示,具有不同的顏色。
#include
#include
/* stream related */
#if defined(debug)
#define log_print(fmt, arg...) dowhile(0);
#define log_debug(fmt, arg...)
#else
#define log_print(fmt, arg...) dowhile(0);
#define log_debug(fmt, arg...)
#endif
#define log_warn(fmt, arg...)
#define log_error(fmt, arg...)
#define log_fatal(fmt, arg...)
#define log_info(fmt, arg...)
#define log_verbose(fmt, arg...)
/* global variable */
static
int verbose =1;
//#define copy_bit(u1, u2)
//#define test_bit(u32, n)
//#define clr_bit(u32, n)
//#define cln_bit(u32)
/* macros */
//#define array_size(u) (sizeof(u)/sizeof(u[0]))
//#define return_if_fail(cond)
//#define return_val_if_fail(cond, val)
/* version info */
#define major 1
#define minor 2
#define revision 3
#define stringify_helper(v) #v
#define stringify(v) stringify_helper(v)
#define version_string() stringify(major) "." \
stringify(minor) "." \
stringify(revision)
#define version_code() (major << 16 + minor << 8 + revision)
intmain
(int argc,
char
**ar**)
loginsight跨平台日誌檢視工具
看日誌,是研發的日常工作,相信你已經從各種報錯日誌中查出許多bug,但也被冗長 複雜的日誌困擾過無數次。在日常工作中,我也經常痛苦於看日誌,一般是這些日誌長得面目猙獰 不僅日誌看的不順眼,看日誌的工具也不蹭手 想按某個關鍵字過濾日誌,有的工具還不支援 剛剛自己分析得頭頭是道,一叫人過來就忘記從哪看起...
跨平台kivy庫使用
最近發現了乙個不錯的跨平台開發庫,kivy 官網 類似qt,其 可以在windows,mac os,linux,android和ios上執行,大概了解了下使用,比較適合自己開發小工具吧,到實際專案估計得踩坑,具體還沒踩過,體驗下先。建立乙個應用程式有三步 2.該類中實現build 方法,初始化顯示w...
Oracle跨平台遷移的簡單總結
前段時間測試了一下goldengate,結合我之前的一些嘗試,對於小機環境的遷移,思路是逐步清晰了起來。需求的核心是跨平台遷移資料庫,最好能夠公升級到新的版本,對於乙個核心系統的一主兩備,需要保證資料完整性的前提,同時能夠盡可能保持在乙個較短的維護時間,對此自己也琢磨了很多方案。想了nfs的方案,在...