You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
5.2 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

--- 1.2.12 ---
[o] bugfix for avoid segmentation fault if call zlog_init() many times
[o] static file rule to emulate python's WatchedFileHandler mode when used with external log rotation
--- 1.2.10 ---
[o] bugfix, LGPL v3 -> LGPL v2.1
--- 1.2.8 ---
[o] gcc __attribute__宏用于检查zlog的format输出格式
[o] 支持配置文件行中带#注释
--- 1.2.5 ---
[o] 保证在单个线程退出的时候自动删除thread, 用atexit来注册函数解决主线程退出的问题
[o] 缓存多个时间,保证所有的%d在strftime的时候都能每秒缓存达到和原先%D一样的速度
[o] 鉴于上面那点,去掉%D的使用虽然库还支持但文档和实例代码都用%d
[o] 修复makefile静态链接zlog-chk-conf
--- 1.2.4 ---
[o] 不再维持thread_list链表每次写日志时判断配置有无更新来刷新每线程的缓存大小
--- 1.2.0 ---
[o] rotate和zip的方案
[o] 把一部分static变量化为全局变量减少接口参数
[o] fstat64
[o] pipe, cronolog
[o] record忽略第二参数
[o] __VA_ARGS__的跨平台
[o] 增加git/版本在代码中的标志(redis)
[o] 去除auto tools的使用自行makefile[redis]
[o] 宏都小写化
[o] const
[x] 每线程内置rule-> file fd write time
[x] 用时间作为判断重载配置reload conf period而不是次数需要每次取时间计算暂不考虑
[x] zlog_set_conf("section", "command");
[x] format,spec,level采用直接数组的方式重写性能提高不大
[x] 增加manpage, df, 案例
--- 1.1.3 ---
[o] zlog_record动态一点
--- 1.1.2 ---
[o] 修正rule.c, path_buf封顶
--- 1.1.1 ---
[o] 修正rule.c, 不使用FILE*, 避免日志交错
--- 1.1.0 ---
[x] spec改为switch循环, 如果可能的话rule也照样--发现switch的效率不如函数指针
[x] 把__LINE__ 变成string--需要改接口
[o] 建立bit位来判断,无锁判断
[o] 寻找快速的方法把us, srcline变成字符串
[o] 在一开始就判断是否需要输出,
[o] 使用pthread_key_t线程私有变量来存储zlog_thread_t仅有1%不到的提高
[o] 增加%D缓存strftime的结果
[o] 缓存pid, tid的字符串形式
[o] 去掉rc的使用[redis]
[o] 对ZLOG_FMT和ZLOG_HEX清算,部分成功
--- 1.0.7 ---
[x] 自己实现部分的strftime进一步提高效率--替换后发现vsnprintf消耗增加未能超越原有strftime的效率
[o] %t显示为16进制
[o] 零碎的性能优化10%把
--- 1.0.6 ---
[o] 每秒取一次localtime_r加速1倍以上
--- 1.0.5 ---
[o] 修复1.0.4的问题reopen文件时用读写锁保护
--- 1.0.4 ---
[o] 测试多线程的效率
[o] 缓存静态文件的FILE*和fd优化加速3倍
--- 1.0.3 ---
[o] 基于日志笔数自动刷新配置
[o] 基于日志笔数自动做sync到硬盘操作
--- 1.0.2 ---
[o] 增加同步写入到硬盘选项,打开后极为费时
--- 1.0.1 ---
[o] 采用配置文件作为锁文件
--- 1.0.0 ---
[o] 改变配置文件的布局,去掉@ &这种符号,改用[global],[format]这样的形式来
[o] 把reload改成原子性的失败用旧的
[o] 优化spec_gen_msg部分, spec内采用自己写的buf_append对齐来代替buf_sprintf
[o] 引入__func__
[o] 文件的权限设置
[o] 输出函数自定义
--- 0.9 ---
[o] 采用更加面向对象的方法来写
[o] 使用arraylist来代替linklist为内部数据结构
[o] 改进配置文件的格式
[o] 打造线程安全的日志函数库
[o] 解决微秒毫秒在配置中的表示
[o] 把event并到thread内避免开内存
[o] 增加init读取配置文件的api
[o] default] format的解析初始化全无的时候的输出zlog_chk_conf的编写
[o] 把category独立出来
[o] 增加update接口
[o] buf的大小无法通过zlog_init动态的改变可以zlog_update重建所有缓存解决呵呵
[o] 调整文件创建权限采用类似fopen的办法为0666&(~umask)
[o] syslog输出搞定但发现syslog暴慢
[o] 转档的模式,是否需要轮询等,解决为传统模式
[o] 增加zlog_profile接口诊断配置内存
[o] 增加MDC,可配置的增加字段
[o] 测试buf被重写的时候是否会导致后面的\0没加
[o] xlog要改名为zlog....
[o] 取一次ZLOG_ERROR_LOG和ZLOG_DEBUG_LOG避免多次getenv
[o] zc_assert一般关闭调试打开
[o] 增加!.*, 匹配未被匹配的分类
[o] priority->level
[o] level自定义
[o] rule syslog open
[o] default format移到全局配置
[o] reset level, 用arraylist来做试试看
[o] ylog, 更简单的接口, 改名为dzlog的一堆接口来解决
[o] zlog-gen-conf
[o] rotate控制个数
--- 废弃想法 ---
[x] 使用writev来写日志提高效率达到一次形成多次输出的目的, writev内部也是开buffermemcpy
[x] 尝试信号量的方法来打成线程安全的转档互斥问题
[x] zlog.h变长参数宏的问题参考glib的log解决
[x] rule的dynamic] file可以从format获取
[x] 修改arraylist的读取长度循环等
[x] 运行期间指定是否采用线程
[x] buf_append 优化——为了安全,不优化这个
[x] 用某种自动编译器以及文档生成器
[x] 输出到管道,有名管道和文件一样
[x] 打印堆栈。。可能需要语言支持
[x] zlog-input -c category -p priority -f conf
[x] 采用精细的reo en方法来建立用fo en来智能判断需不需要重开文件,操作系统本身已经做得够好,无须做