2.9 KiB
2.9 KiB
Changelog
[1.0.3] - 2026-05-05
- 接口规范化: 重构
Logger.Request方法,由传递结构体指针改为接收明确参数(method, path, status, usedTime),并支持通过extra自动填充RequestLog的 20+ 个业务字段。 - 架构解耦: 将
extra.go中的所有预定义日志结构及其快捷方法注释掉。仅作为示例供应用端参考实现,推动“应用自维护日志结构”的标准规范。 - 类型安全性: 强化
Logger.Log方法约束,仅接受实现LogEntry接口(通常继承自BaseLog)的类型,不再支持任意any格式。 - 文档完善:
README.md新增“自定义日志扩展”指南,明确了BaseLog继承、GetEntry对象池获取及Log发送的完整闭环。 - 测试对齐: 更新所有测试用例与基准测试,演示如何在应用端定义和使用自定义日志结构。
[1.0.2] - 2026-05-04
- 设计优化: 引入
ResetLogEntry自动化重置机制,基于反射和缓存实现日志对象字段的自动初始化与清空(Map/Slice 默认容量 8)。 - 接口精简: 简化
LogEntry接口为标记接口,移除了冗余的Base()和Reset()手动实现。 - 扩展性增强:
Task,Monitor,Statistic,DB等快捷方法全面支持变长extra ...any参数,并集成cast.ToMap自动转换。 - 构建修复: 修复了
convert模块对cast新 API 的兼容性问题。
[1.0.1] - 2026-05-04
- 结构增强:
DBLog结构体新增Error和CallStacks字段,提升数据库错误诊断效率。 - DB 方法重构:
Logger.DB方法支持可选错误参数,自动处理dbError类型并记录调用栈。 - 扩展日志支持: 新增
TaskLog,MonitorLog,StatisticLog标准结构及其Logger快捷方法,置于extra.go。 - RequestLog 封装:
Logger新增Request方法,简化请求日志记录流程。 - 调用栈优化: 优化
getCallStacks逻辑,确保能正确捕获业务代码和测试代码的调用位置,同时过滤掉日志库内部帧。
[1.0.0] - 2026-05-02
- 初始版本: 由
ssgo/log迁移并基于apigo.cc/go标准重构。 - 高性能引擎: 引入
LogEntry池化与sync.Pool复用,支持零分配日志对象。 - 异步写入: 实现基于 Channel 的非阻塞异步写入引擎,将 IO 压力从主路径完全剥离。
- 批量刷盘:
FileWriter引入bufio.Writer缓冲,ESWriter优化 Bulk 请求构造,大幅提升 IO 吞吐量。 - 灵活格式: 引入
Formatter接口,支持 JSON 与文本等自定义格式。 - 增强视图: 内置
ConsoleWriter与增强型Viewer,支持RequestLog高亮显示与状态码变色。 - 字段规范: 统一字段 Key 为小写,确保跨平台解析一致性。
- 安全性: 集成高性能字段脱敏能力,并提供幂等停机与 Panic 恢复机制。