当前位置:  软件>C/C++软件

纯C日志函数库 zlog

    来源:    发布时间:2015-02-17

    本文导语:  zlog是一个高性能、线程安全、灵活、概念清晰的纯C日志函数库。 事实上,在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C++的log4cxx)。C程序员都喜欢用自己的轮子。printf就是个挺好的轮子,但没...

纯C日志函数库 zlog[图片]

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

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

所以我(难易)写了zlog。 

zlog有这些特性:


 *  syslog分类模型,基于规则路由过滤,比log4j模型要正确高效,详见为什么log4j的概念模型是错误的

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

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

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

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

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

 *  用户自定义等级

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

 *  精确到微秒

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

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

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

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

网友提供的其他版本,方便其他平台安装

auto tools版本: https://github.com/bmanojlovic/zlog
cmake版本:https://github.com/lisongmin/zlog
windows版本: https://github.com/lopsd07/WinZlog


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python异常信息堆栈输出到日志文件
  • linux下系统日志 操作日志 告警日志怎么存储啊?
  • 不同版本MSSQL清除日志方法介绍
  • solaris的系统日志文件叫什么名字?在什么目录下??如何打开/关闭系统日志????
  • Docker支持更深入的容器日志分析
  • 如何关闭red hat 7.3的核心日志和系统日志
  • ubuntu查看系统日志及相关文件介绍
  • 请问程序的日志重定向到别日志文件,系统会对该日志文件的大小作限制么
  • docker源码分析之容器日志处理与log-driver实现
  • 用shell如何获取一个日志中某个时间段的日志
  • c#实现把异常写入日志示例(异常日志)
  • sql server日志收缩脚本及解决日志增长过快的问题
  • 我通过C程序执行tail -f printlog(printlog为日志名),想要动态获取里面新进来的日志,怎么办?
  • 多进程输出日志,用什么方式保存日志效率比较高?
  • oracle 11g的警告日志和监听日志的删除方法
  • apache使用日志分割模块rotatelogs分割日志详解
  • mysql日志文件在哪 如何修改MySQL日志文件位置
  • 删除sqlserver数据库日志和没有日志的数据库恢复办法
  • (答者给分)crontab 定时执行sh 日志显示发送mail 如何查看错误日志
  • java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)
  • 日志分析软件 Splunk


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3