Reader

gookit/slog - 易于使用的,可配置、可扩展的 Go 日志库, 发布 v0.5.8 版本

| V2EX - 技术 | Default

gookit/slog 的新版本 v0.5.8 已正式发布!作为一个轻量级、可配置、功能强大的 Go 语言日志库,在这一版本中带来了众多改进与修复,进一步提升了开发者的使用体验和日志处理能力。

GitHub: https://github.com/gookit/slog

主要更新内容

🐞 修复 (Fixes)

  • 修复了 Windows 平台上日志文件路径解析可能出错的问题。(提交详情)
  • 使用 CallerFlagMode 类型别名替代了原先的 uint8 类型以增强代码可读性。(提交详情)
  • 修复旧日志文件匹配问题,例如 error.log 重命名为 error.20250423_02.log 时的匹配错误。(提交详情)
  • 修复了 BackupNum=0 时会移除所有旧文件的问题。(提交详情)
  • 针对文件日志切割( rotatefile )逻辑进行了修复,解决了短时间内切割文件可能导致的冲突和内容覆盖问题。(提交详情)

✨ 新功能 (Features)

  • 增强了日志配置功能并新增了相关测试用例。(提交详情)
  • 在包顶层新增了便捷的 Log 函数。(提交详情)

🔧 更新与优化 (Updates)

  • 为日志处理器( handler )新增 WithRotateTimeString 功能及相关测试。(提交详情)
  • 对文件切割清理方法进行了重构,并为清理与压缩功能新增了更多测试。(提交详情)
  • 增加了开发调试日志,并通过环境变量支持调试模式。(提交详情)
  • 优化了异步清理初始化逻辑,避免重复初始化 Goroutine 。(提交详情)
  • 减少了写入和切割文件时的锁定范围以提升性能。(提交详情)
  • 对切割文件名生成逻辑进行了重构,确保文件扩展名始终位于末尾。(提交详情)

📦 依赖更新 (Dependency Updates)

新贡献者 (New Contributors)

感谢以下开发者首次为 gookit/slog 做出贡献:


完整更新日志请查看 Git CHANGELOG。欢迎大家升级到最新版本并体验这些改进和新功能!如有任何问题或建议,请随时通过 Issue 反馈。