zoukankan      html  css  js  c++  java
  • 纯C日志函数库 zlog

    zlog - 纯C日志函数库 - 开源中国

    纯C日志函数库 zlog
    分享到
    新浪微博腾讯微博
    已用    +10
    收藏+92

    参加 OSC 应用开发大赛,拿 Nexus 4 手机 »

    星星之火,可以燎原

    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
  • 相关阅读:
    js 兼容阻止事件冒泡stopPropagation
    php session cookie
    js 给父元素的每个子元素绑定事件
    php 调用系统命令 超时
    php textarea换行
    php 中文字符串截取子串
    Predefined Asp.net skins(Themes) 你下载了吗?
    自定义DataFilter实现Atlas客户端DataView的数据筛选
    用Altas Behaviors实现就地编辑(1) [译]
    组件开发之Asp.net服务器控件Collection[集合]属性的设计时支持--编辑、保存
  • 原文地址:https://www.cnblogs.com/lexus/p/2843376.html
Copyright © 2011-2022 走看看