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
  • 相关阅读:
    jsp获取当前目录下的文件和目录,获取windows盘符
    WAS常用配置的文件
    Was提示SOAP链接不上可能停止 但WAS已经启动
    git本地仓库提交到远程
    ubuntu1804时间相差8小时
    docker安装&卸载
    ubuntu 安装离线字典
    写给还没入门的网页设计师们
    简单10步,建立一个完美的商业网站
    不会配色?来看看网页设计中怎样使用柔和色调
  • 原文地址:https://www.cnblogs.com/lexus/p/2843376.html
Copyright © 2011-2022 走看看