6

Go 日志库 gookit/slog 发布 v0.5.1 版本

 1 year ago
source link: https://studygolang.com/articles/36116
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Go 日志库 gookit/slog 发布 v0.5.1 版本

inhere · 大约21小时之前 · 238 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览    

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

控制台日志效果:

console-log-all-level

  • 简单,无需配置,开箱即用
  • 支持常用的日志级别处理
    • 如: trace debug info notice warn error fatal panic
  • 可以任意扩展自己需要的 Handler Formatter
  • 支持同时添加多个 Handler 日志处理,输出日志到不同的地方
  • 支持自定义构建 Handler 处理器
    • 内置的 handler.Config handler.Builder,可以方便快捷的构建想要的日志处理器
  • 支持自定义 Formatter 格式化处理
    • 内置了 json text 两个日志记录格式化 Formatter
  • 已经内置了常用的日志处理器
    • console 输出日志到控制台,支持色彩输出
    • writer 输出日志到指定的 io.Writer
    • file 输出日志到指定文件,可选启用 buffer 缓冲写入
    • simple 输出日志到指定文件,无缓冲直接写入文件
    • rotate_file 输出日志到指定文件,并且同时支持按时间、按大小分割文件,默认启用 buffer 缓冲写入
    • 更多内置实现请查看 ./handler 文件夹

输出日志到文件

  • 支持启用 buffer 缓冲日志写入
  • 支持按时间、按大小自动分割文件
  • 支持配置通过 gzip 压缩日志文件
  • 支持清理旧日志文件 配置: BackupNum BackupTime

更多使用请看 README

v0.5.1 更新日志

  • ⚡ perf: 优化处理日志消息数据的性能
  • 👔 up: 更新一些代码逻辑并添加更多单元测试
  • ✅ test: 更新benchmark测试并更新readme

v0.5.0 更新日志

  • 💥 break: 重命名一些接口和结构体
  • ✨ feat: handler - 配置新增字段 LevelMode, Level
  • ✨ feat: 为 handler.Builder 添加更多快速的配置方法
  • 📝 doc: 更新readme文档并添加更多用法示例
  • ⬆️ dep: 更新相关依赖工具库到最新版本

更多使用请看 README


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK