最新消息:

纯C日志函数库 zlog

未分类 admin 3352浏览 0评论

zlog是一个高性能、线程安全、灵活、概念清晰的纯C日志函数库。

事实上,在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C++的log4cxx)。C程序员都喜欢用自己的轮子。printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件。syslog是个系统级别的轮子,不过速度慢,而且功能比较单调。log4c异常坑爹(有内存泄漏、效率低等等),而且已经停止开发

所以我(难易)写了zlog。

zlog有这些特性:

 

*  syslog分类模型,比log4j模型更加直接了当

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

*  多种输出,包括动态文件、静态文件、stdout、stderr、syslog、用户自定义输出函数

*  运行时手动或自动刷新配置(同时保证安全)

*  高性能,在我的笔记本上达到338’638条日志每秒, 大概是syslog(3)配合rsyslogd的1000倍速度

*  高可靠性和速度之间的平衡,用户自定义多少条日志后fsync数据到硬盘

*  用户自定义等级

*  多线程和多进程环境下保证安全转档

*  精确到微秒

*  简单调用包装dzlog(一个程序默认只用一个分类)

*  MDC,线程键-值对的表,可以扩展用户自定义的字段

*  自诊断,可以在运行时输出zlog自己的日志和配置状态

*  不依赖其他库,只要是个POSIX系统就成(当然还要一个C99兼容的vsnprintf)

https://github.com/HardySimpson/zlog

UsersGuide-CN

转载请注明:爱开源 » 纯C日志函数库 zlog

您必须 登录 才能发表评论!