Skip to content

Latest commit

 

History

History
613 lines (358 loc) · 15.1 KB

HISTORY.md

File metadata and controls

613 lines (358 loc) · 15.1 KB

✒ 历史版本的特性介绍 (Features in old versions)

v1.8.1

此版本发布于 2024-08-07

  • 快速时钟增加获取 nanos 的函数

v1.8.0

此版本发布于 2024-08-07

  • 提高单元测试覆盖率到 80%
  • 增加快速时钟,可以非常快速地查询时间

v1.5.10

此版本发布于 2024-01-19

  • v1.5.x 第一个正式版

v1.5.9-alpha

此版本发布于 2024-01-09

  • 去除对 \ 和 " 的转义

v1.5.8-alpha

此版本发布于 2023-12-27

  • 调整生产选项,去除 pid 的输出

v1.5.7-alpha

此版本发布于 2023-12-22

  • 增加包级别的 Sync 和 Close 函数

v1.5.6-alpha

此版本发布于 2023-12-21

  • 增加包级别的日志方法
  • PS: 周董的新歌《圣诞星》上线了,怎么说呢哈哈,周董的光芒还是留在回忆里面吧~

v1.5.5-alpha

此版本发布于 2023-12-20

  • 继续优化代码,包括设计和质量
  • 完善单元测试,提高覆盖率到 78%

v1.5.4-alpha

此版本发布于 2023-12-18

  • 增加一个高可读性且高性能的 handler 实现 —— TapeHandler
  • 新的 tape handler 性能提升了 33%,且 print 类函数性能提升了 50%

v1.5.3-alpha

此版本发布于 2023-12-13

  • 简化代码,去除冗余的一些东西

v1.5.2-alpha

此版本发布于 2023-12-13

  • 优化 handler 和 writer 设计

v1.5.1-alpha

此版本发布于 2023-12-12

  • 增加属性解析器适配功能
  • Logger 性能提升接近 20%
  • TextHandler 零内存分配

v1.5.0-alpha

此版本发布于 2023-12-11

  • 考虑结合 Go1.21 新加的 slog 包,做一些生产化的适配和功能
  • 增加 context 适配功能
  • 增加 Production 现成配置,搭配 Option 方便使用
  • 完善 Logger 相关的单元测试
  • 调整 writer 包代码,完善单元测试
  • 调整 rotate 包代码,完善单元测试
  • 完善 config 包功能和单元测试
  • 完善性能测试
  • 完善示例代码

v1.2.1

此版本发布于 2023-07-03

  • 调整 logPool 为指针引用,避免 Logger 结构复制引发 sync.Pool 的复制

v1.2.0

此版本发布于 2023-06-19

  • 增加 LogX 方法,方便使用 context 和 interceptor
  • 增加 time.Duration 相关方法

v1.1.0

此版本发布于 2023-03-24

  • 调整 global logger 的设计,去除 caller + 1 的代码
  • 完善单元测试

v1.0.0

此版本发布于 2023-01-21

  • 稳定的 API 版本

v0.7.1

此版本发布于 2022-12-21

  • 修复 extension file 文件冲突问题

v0.7.0

此版本发布于 2022-11-23

  • 调整 Error 的 API 设计
  • 增加 WithError 方法,代替 Err 方法

v0.6.1

此版本发布于 2022-10-24

  • 增加 errorKey 和 Err 方法,方便 Error 日志的输出

v0.6.0

此版本发布于 2022-10-08

  • 原谅我将仓库从组织中转移回个人。。因为组织没啥用。。

v0.5.8

此版本发布于 2022-10-01

  • 国庆节快乐!

v0.5.7-alpha

此版本发布于 2022-09-17

  • 这个周末,我开始了在声乐上的学习生涯,希望半年后的我会在声乐上有所进展!

v0.5.6-alpha

此版本发布于 2022-09-04

  • 继续完善单元测试
  • 继续优化代码设计
  • 修复了 config 的 unix 时间解析问题
  • 增加 appender.TextWith 函数,支持不转义 key 和 value 的值

v0.5.5-alpha

此版本发布于 2022-09-02

  • 大量完善单元测试
  • 大量优化代码设计
  • 修复 WithPID 在默认开启时不会添加 pid 的问题

v0.5.4-alpha

此版本发布于 2022-09-01

  • 大幅度优化 API 和代码(再忙也要学会优雅哦,哈哈哈)
  • 增加配置项解析功能,提供配置文件支持
  • 加入日志存活天数的特性
  • 加入日志存活个数的特性
  • 按时间、文件大小自动切割日志文件,并支持过期清理机制

v0.5.3-alpha

此版本发布于 2022-08-28

  • 调整包结构,优化代码
  • 增加配置文件解析机制

v0.5.2-alpha

此版本发布于 2022-08-27

  • 增加错误监控回调函数

v0.5.1-alpha

此版本发布于 2022-08-24

  • 提取时间函数,方便做时间查询优化
  • 优化 Json 方法的 Appender 实现

v0.5.0-alpha

此版本发布于 2022-08-22

  • 替换 End() 方法,使用 Log() 代替,代码可读性更高
  • 代码优化和重构,包括性能和逻辑上的优化,代码质量上的重构
  • 支持增加调用堆栈或者函数名的信息到日志
  • 增加批量写入的 Writer,区别于缓冲写入的 Writer,这个批量是按照数量进行缓冲的

v0.4.22

此版本发布于 2022-03-19

  • 前两个测试版本的正式发布版本

v0.4.21-alpha

此版本发布于 2022-02-27

  • 废弃 LoggerMaker
  • 加入全局日志方法

v0.4.20-alpha

此版本发布于 2022-02-23

  • 加入日志拦截器,支持从 context 注入键值对
  • 优化 Logger 字段结构,减少多余引用变量
  • 更改 LoggerMaker 为 LoggerCreator,并废弃 LoggerMaker
  • 更改 MarshalJson 为 MarshalToJson,并废弃 MarshalJson

v0.4.19

此版本发布于 2022-02-13

  • 给 log 加入 Json 方法

v0.4.18

此版本发布于 2022-02-08

  • 修复 Caller Depth 不生效的问题

v0.4.17

此版本发布于 2022-02-08

  • 修复 Version 错误的问题
  • 修复 Printf、Print、Println 方法下 level 错误的问题
  • 加入 WithPid 方法
  • 完善 PrintLevel 相关的逻辑

v0.4.16

此版本发布于 2022-02-02

  • 庆祝下仓库转移成功!!!

v0.4.15

此版本发布于 2022-02-01

  • 祝大家新春快乐 :)

v0.4.14-alpha

此版本发布于 2022-01-31

  • 兼容 log 包部分方法,比如 Printf

v0.4.13-alpha

此版本发布于 2022-01-29

  • Log 增加 Caller 方法,方便某些场景下获取调用信息

v0.4.12-alpha

此版本发布于 2022-01-29

  • depth 放开,可以支持用户包裹

v0.4.11

此版本发布于 2021-11-29

  • 修改 LoggerMaker 接口 params 为可变参数

v0.4.10

此版本发布于 2021-11-01

  • 增加 LoggerMaker 扩展功能

v0.4.9-alpha

此版本发布于 2021-10-27

  • 修复 TextAppender 的 AppendErrors 和 AppendStringers 追加问题
  • 完善单元测试

v0.4.8-alpha

此版本发布于 2021-10-10

  • 修改 sync.Mutex 的使用方式
  • 完善单元测试

v0.4.7-alpha

此版本发布于 2021-09-27

  • 加入 Context 机制,更优雅地使用日志,并支持业务域划分

v0.4.6-alpha

此版本发布于 2021-09-08

  • 调整转义字符显示样式

v0.4.5-alpha

此版本发布于 2021-09-06

  • 修复 Appender 接口实现类检验失效问题
  • 调整 textAppender 的字段分隔符为 |
  • 去除 signal 机制的 TODO

v0.4.4-alpha

此版本发布于 2021-08-10

  • 修复 WithWriter 的顺序问题

v0.4.3-alpha

此版本发布于 2021-08-10

  • 优化部分 log 设计
  • 增加多级别追加器机制
  • 增加多级别写出器机制
  • 完善文档注释和单元测试

v0.4.2-alpha

此版本发布于 2021-08-01

  • 修复部分问题
  • 完善文档注释

v0.4.1-alpha

此版本发布于 2021-07-15

  • 改造 API 使用体验,加入结构化日志功能
  • Options 机制引入,支持多种创建选项
  • 改造 Encoder 为 Appender,直接追加字节数据
  • 提供高级调优配置能力,贴合业务进行设置

v0.4.0-alpha

此版本发布于 2021-06-08

  • 大幅度重构设计,精简功能,后续继续完善原有功能
  • 重构 Encoder,加入缓冲区对象池
  • 引入新的日志输出器,并且带有缓冲和异步写功能

v0.3.3

此版本发布于 2021-01-12

  • 去除了 DebugF 一类格式化的 API,统一使用 Debug 一类 API

v0.3.2

此版本发布于 2020-12-24

  • 废弃了 files 包
  • 完善文档,第一个 v0.3.x 正式版
  • 最后,祝大家平安夜、圣诞节快乐!

v0.3.1-alpha

此版本发布于 2020-12-13

  • 日志文件自动分割处理,支持 Checker 机制检查是否需要分割
  • 内置三种 Checker,分别是 TimeChecker,SizeChecker,CountChecker
  • 多种检查器可以叠加效果,只要其中有一个达到分割的条件都会进行分割

v0.3.0-alpha

此版本发布于 2020-11-28

  • 大幅度重构版本,废除了 handler 设计
  • 暂不支持配置文件,正式版会支持
  • v0.3.x 的第一个体验版

v0.2.10

此版本发布于 2020-08-22

  • 完善配置文件注释,目前是 // 和 # 都支持,后续将只支持 //
  • 完善配置文件格式,目前的 Json 配置是不用 {} 包裹也可以的,后续将必须使用 {} 进行包裹

v0.2.9

此版本发布于 2020-08-08

  • 日志文件输出会自动创建父级不存在的目录

v0.2.8

此版本发布于 2020-07-30

  • 去掉 JsonEncoder 的 key 空格

v0.2.7

此版本发布于 2020-06-25

  • 修复了 DefaultNameGenerator 可能产生重复文件名的 bug

v0.2.6-alpha

此版本发布于 2020-06-24

  • 对 writer 包进行重构,改名为 files 包
  • 废弃了原 writer 包的 NewFile 方法,并使用同包下的 CreateFileOf 代替
  • 引入 NameGenerator 组件
  • 修改 NewDurationRollingHandler 的参数顺序
  • 修改 NewSizeRollingHandler 的参数顺序

v0.2.5-alpha

此版本发布于 2020-06-08

  • 加入之前被移除的特性 - 可变长参数列表的日志输出支持,主要可以使用格式化字符串进行多参数传递

v0.2.4

此版本发布于 2020-05-27

  • 新增屏蔽某个日志级别的日志处理器
  • 修正某些文档的语法问题
  • 修复部分单元测试引用外部文件(比如 _examples 中的文件)的问题

v0.2.3

此版本发布于 2020-05-01

  • 祝大家五一劳动节快乐!

v0.2.2-alpha

此版本发布于 2020-04-28

  • 改造全局使用的 logger,可以使用一个默认的配置文件来初始化全局 logger,方便使用
  • 增加 levelBasedHandler,里面是不同日志级别的日志处理器包装器,可以传一堆的 handler 进去

v0.2.1-alpha

此版本发布于 2020-04-27

  • 将 console handler 简化,目前使用 RegisterHandler 构造
  • 从 file handler 中抽取出 duration rolling 和 size rolling 两个日志处理器
  • 屏蔽了 HandlerOf 和 EncoderOf,只暴露特定的 API
  • 新增 TextEncoder 和 JsonEncoder 两个方法,可以获取到具体的日志编码器
  • 新增 NewConsoleHandler 和 NewFileHandler,分别对应控制台和文件日志处理器
  • 新增 NewDurationRollingHandler 和 NewSizeRollingHandler,分别对应时间间隔滚动和文件大小滚动的日志处理器
  • 删除了大量创建 Logger 的方法,这些方法会让人看起来很复杂很繁琐
  • 去除原有 Config 加 fileConfig 的配置设计,现在直接使用一个映射配置,然后组装成需要的参数

v0.2.0-alpha

此版本发布于 2020-04-24

  • 将 wrapper 修改为 writer
  • 剔除了 default handler 和 json handler,整合进 standard handler 中
  • 提取出一个 encoder,方便内置处理器引用
  • 加入 console handler,专门负责输出到控制台的日志处理器
  • 加入 file handler,专门负责文件相关的日志处理器,包含时间滚动和大小滚动和不滚动的功能

v0.1.5

此版本发布于 2020-04-19

  • 完善 Json 处理器没有做字符转义的修复方案,详情查询 issue/1

v0.1.4

此版本发布于 2020-04-10

  • 紧急修复 Json 处理器没有做字符转义的 bug,详情查询 issue/1

v0.1.3

此版本发布于 2020-04-05

  • 增加配置文件中是否开启文件信息记录的选项

v0.1.2

此版本发布于 2020-03-30

  • 加入配置文件的支持,以近似 Json 格式的配置文件来增加日志记录的灵活性
  • 修复 Logger 中 DebugFunc,InfoFunc,WarnFunc,ErrorFunc 等几个方法的文件信息错误问题
  • 修复 logit 中 DebugFunc,InfoFunc,WarnFunc,ErrorFunc 等几个方法的文件信息错误问题

v0.1.1-alpha

此版本发布于 2020-03-29

  • 再次对 Handler 进行重构,尽量优化 Logger 的设计
  • 去除 Encoder,减少多余的设计,轻量化 Logger
  • 取消时间缓存机制,减少并发竞争性
  • 优化 releaseLog 的 extra 内存分配
  • 加入 FileConfig,为后续支持配置文件做准备

v0.1.0-alpha

此版本发布于 2020-03-27

  • 重新设计 Logger,主要是轻量化处理和重构 handler 的设计
  • 增加 Encoder 接口,方便用户扩展 Logger,并内置 Json 编码器
  • Json 编码器允许时间不做格式化,使用 Unix 形式处理时间,方便解析处理

v0.0.11

此版本发布于 2020-03-23

  • 支持日志输出为 Json 形式,通过增加 JSON 日志处理器实现
  • 使用时间缓存机制优化时间格式化操作性能消耗过多的问题,性能再次提升 50%

v0.0.10

此版本发布于 2020-03-10

  • 扩展了 Logger 的方法,可以获取到内部的属性,为日志处理器做准备
  • 支持创建 Logger 对象之后修改它的输出源 writer(这是个之前被遗漏的功能特性哈哈)
  • 调整了内部 log 方法的锁机制,使用类似于写时复制的方式释放日志输出的并发性

v0.0.9

此版本发布于 2020-03-09

  • 支持日志输出函数,日志信息可以是一个返回 string 的函数
  • 公开 PrefixOf 方法,方便用户自定义处理器的时候获取日志级别字符串

v0.0.8

此版本发布于 2020-03-08

  • 进行第一次性能优化,性能相比之前版本提升 30%
  • 取消占位符功能,由于这个功能的实现需要对类型进行反射检测,非常消耗性能
  • 取消 fmt 包的使用,经过性能检测,发现 fmt 包中存在大量使用反射的耗时行为

v0.0.7

此版本发布于 2020-03-06

  • 重构日志输出的模块,抛弃了标准库的 log 设计
  • 增加日志处理器模块,支持用户自定义日志处理逻辑,大大地提高了扩展能力
  • 支持不输出文件信息,避免 runtime.Caller 方法的调用,大大地提高了性能
  • 支持调整时间格式化输出,让用户自定义时间输出的格式

v0.0.6

此版本发布于 2020-03-05

  • 支持按照文件大小自动划分日志文件
  • 修复 nextFilename 中随机数生成重复的问题,设置了纳秒时钟作为种子

v0.0.5

此版本发布于 2020-03-04

  • 支持将日志输出到文件
  • 支持按照时间间隔自动划分日志文件

v0.0.4

此版本发布于 2020-03-03

  • 修改 LogLevel 类型为 LoggerLevel,命名更符合意义
  • 更改了部分源文件的命名,也是为了更符合实际的意义

v0.0.3

此版本发布于 2020-03-02

  • 让信息输出支持占位符,比如 %d 之类的
  • 修复 Logit 日志调用方法的调用深度问题,之前直接通过 logit 调用时文件信息会显示错误

v0.0.2

此版本发布于 2020-03-01

  • 扩展 Logger 的使用方法,主要是创建日志记录器一类的方法
  • 扩展 logit 的全局使用方法,增加一个默认的日志记录器
  • 支持更改日志级别,参考 Logger#ChangeLevelTo 方法
  • 修复 Logger#log 方法中漏加读锁导致并发安全的问题

v0.0.1

此版本发布于 2020-02-29

  • 实现最简单的日志输出功能
  • 支持四种日志级别:debug, info, warn, error
  • 对应四种日志级别分别有四个方法。