一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

zlog 純C日志函數(shù)庫的簡單使用方法

 埕絮妞 2015-04-17

zlog簡述:

log是一個(gè)高性能、線程安全、靈活、概念清晰的純C日志函數(shù)庫。

事實(shí)上,在C的世界里面沒有特別好的日志函數(shù)庫(就像JAVA里面的的log4j,或者C++的log4cxx)。C程序員都喜歡用自己的輪子。printf就是個(gè)挺好的輪子,但沒辦法通過配置改變?nèi)罩镜母袷交蛘咻敵鑫募yslog是個(gè)系統(tǒng)級別的輪子,不過速度慢,而且功能比較單調(diào)。log4c異??拥ㄓ袃?nèi)存泄漏、效率低等等),而且已經(jīng)停止開發(fā) 

zlog有這些特性:

 *  syslog分類模型,基于規(guī)則路由過濾,比log4j模型要正確高效,詳見為什么log4j的概念模型是錯誤的。

 *  日志格式定制,類似于log4j的pattern layout

 *  多種輸出,包括動態(tài)文件、靜態(tài)文件、stdout、stderr、syslog、用戶自定義輸出函數(shù)

 *  運(yùn)行時(shí)手動或自動刷新配置(同時(shí)保證安全)

 *  高性能,在我的筆記本上達(dá)到338'638條日志每秒, 大概是syslog(3)配合rsyslogd的1000倍速度 

 *  高可靠性和速度之間的平衡,用戶自定義多少條日志后fsync數(shù)據(jù)到硬盤

 *  用戶自定義等級

 *  多線程和多進(jìn)程環(huán)境下保證安全轉(zhuǎn)檔

 *  精確到微秒

 *  簡單調(diào)用包裝dzlog(一個(gè)程序默認(rèn)只用一個(gè)分類)

 *  MDC,線程鍵-值對的表,可以擴(kuò)展用戶自定義的字段

 *  自診斷,可以在運(yùn)行時(shí)輸出zlog自己的日志和配置狀態(tài)

 *  不依賴其他庫,只要是個(gè)POSIX系統(tǒng)就成(當(dāng)然還要一個(gè)C99兼容的vsnprintf)

 

http://hardysimpson./zlog/ 下載最新的zlog源碼包。

1. tar -zxvf zlog-1.2.12.tar.gz 解壓到當(dāng)前目錄。

2. 進(jìn)入zlog-1.2.12, 執(zhí)行make,在zlog-1.2.12/src/ 目錄下生成libzlog.a 靜態(tài)庫和libzlog.so動態(tài)庫。

3.編寫測試程序test.c 

 1 #include "zlog.h"
 2 #include <stdio.h>
 4 int main()
 5 {
 6     int rc; 
 7         zlog_category_t *zc;
 8         rc = dzlog_init("./test.conf", "my_cat");
 9         if (rc) {
10             printf("init failed\n");
11             zlog_fini();
12             return -1; 
13         }   
14         int a = 10; 
15         char str[112] = "12asfew";
16         dzlog_info("hello, zlog %d, %s", a, str);
17         dzlog_debug("test  aa");
18         zlog_fini();
19         return 0;   
20 }

5. 編寫一個(gè)最簡單配置文件test.conf,通過配置文件來控制debug級別,風(fēng)格等。

1 [formats]
2 simple  = "%m%n"
3 [rules]
4 my_cat.DEBUG >stdout;simple  //將debug以上級別的信息輸出到 stdout中去,格式為simple類型格式

 

 6.編寫Makefile, 文件目錄如下

├── app
├── Makefile
├── test.c
├── test.conf
├── test.o
├── zlog-1.2.12
└── zlog-1.2.12.tar.gz

1 INCS = -I./zlog-1.2.12/src
2 CFLAGS = $(INCS) ./zlog-1.2.12/src/libzlog.a -lpthread
3 app:test.o
4         gcc -o app test.o $(CFLAGS)
5 test.o:test.c
6         gcc $(INCS) -c -o $@ $<
7 
8 clean:
9         rm test.o app

 

7.執(zhí)行可執(zhí)行文件app    ./app 結(jié)果如下:

2014-03-22 16:18:47 INFO [15456:test.c:16] hello, zlog 10, 12asfew
2014-03-22 16:18:47 DEBUG [15456:test.c:17] test aa

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本人妻丰满熟妇久久| 亚洲a码一区二区三区| 97人妻精品一区二区三区男同 | 国产精品日韩欧美第一页| 欧美乱视频一区二区三区| 欧美日韩国产自拍亚洲| 国产精品欧美激情在线播放| 麻豆果冻传媒一二三区| 国产一区二区三区香蕉av| 免费人妻精品一区二区三区久久久| 一级欧美一级欧美在线播| 亚洲乱码av中文一区二区三区| 欧美日本精品视频在线观看| 欧美午夜不卡在线观看| 亚洲精选91福利在线观看| 亚洲天堂国产精品久久精品| 俄罗斯胖女人性生活视频| 亚洲乱码av中文一区二区三区| 亚洲男人的天堂就去爱| 国产一区日韩二区欧美| 亚洲精品偷拍视频免费观看| 91偷拍与自偷拍精品| 99福利一区二区视频| 欧美乱视频一区二区三区| 午夜视频成人在线观看| 色婷婷中文字幕在线视频| 国产亚洲欧美一区二区| 久久精品亚洲精品一区| 国产精品一区日韩欧美| 欧美欧美欧美欧美一区| 国产永久免费高清在线精品| 91亚洲精品亚洲国产| 亚洲欧美日韩精品永久| 国内精品偷拍视频久久| 国产精欧美一区二区三区久久| 亚洲国产av一二三区| 国产毛片对白精品看片| 久久亚洲精品中文字幕| 国产精品免费视频视频| 亚洲精选91福利在线观看| 国产精品午夜性色视频|