gookit slog release v0.5.8

gookit/slog 一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能。

v0.5.8 已正式发布!这一版本中带来了众多改进与修复,进一步提升了开发者的使用体验和日志处理能力。

:::info

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

:::

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

主要更新内容

🐞 修复 (Fixes)

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

✨ 新功能 (Features)

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

🔧 更新与优化 (Updates)

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

📦 依赖更新 (Dependency Updates)

  • 升级 github.com/gookit/goutil 到 v0.6.18。(提交详情)
  • 使用 os.ReadFile 替代已弃用的 ioutil.ReadFile 方法。(提交详情)

新贡献者 (New Contributors)

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


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

:::note Github release https://github.com/gookit/slog/releases/tag/v0.5.8 :::