C語言日志組件庫 - zlog

fmms 12年前發布 | 64K 次閱讀 C語言 C/C++開發
zlog是一個高性能、線程安全、靈活、概念清晰的純C日志函數庫。
事實上,在C的世界里面沒有特別好的日志函數庫(就像JAVA里面的的log4j,或者C++的log4cxx)。C程序員都喜歡用自己的輪子。printf就是個挺好的輪子,但沒辦法通過配置改變日志的格式或者輸出文件。syslog是個系統級別的輪子,不過速度慢,而且功能比較單調。 log4c異常坑爹(有內存泄漏、效率低等等),而且已經停止開發
所以我(難易)寫了zlog。 
zlog有這些特性:
? syslog風格的配置文件,易學易用
? 綱目分類模型,比log4j系列的繼承模型更加清晰
? 多種輸出,包括動態文件、靜態文件、stdout、stderr、syslog
? 可以在運行時動態刷新配置,只需要調用函數zlog_update()
? 高性能,在我的筆記本上達到72'000條日志每秒, 大概是syslog(3)配合rsyslogd的200倍速度 
? 用戶可以自定義等級,無需改變庫代碼
? 多線程和多進程寫同一個日志的情況下,安全轉檔(轉檔就是把太大的日志重命名)
? 可以精確到微秒
? MDC,一個log4j風格的鍵-值對的表,可以擴展用戶自定義的字段
? 自診斷,可以在運行時輸出zlog自己的日志和配置狀態
? 不依賴其他庫,只要是個POSIX系統就成

https://github.com/HardySimpson/zlog
 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!