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

发布于 1周前 作者 nodeper 来自 Go语言

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


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

更多关于Golang Go语言日志库 gookit/slog 发布 v0.5.1 版本的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

17 回复

第一眼看还以为是官方包里的 slog https://pkg.go.dev/golang.org/x/exp/slog
起名大师了属于是

更多关于Golang Go语言日志库 gookit/slog 发布 v0.5.1 版本的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


go 的增强日志包太卷了,大概有十几个有名的。建议像 zap 一样把自家的 log 包优势缺陷都跟其他 log 包对比下。这样能帮助技术选型时根据特点选取该用哪个包。

感觉自动清理压缩这种功能放在应用里好像不太妥…但是一想到小项目好像也没什么事情…

先 star 支持了

level 没对齐,好难受

使用 json 格式吧,对日志分析友好。

json 包更卷, 超过 1k star 的好多了

哈哈 … 这绝对不是照搬,我这项目 2020 年就开始了,可以看 commit 记录。 前段时间 官方才出了 exp/slog :)

内置了 json text 两个日志记录格式化 Formatter ,都是支持的。

emoji 好多。上一个我看到每个 commit 都有 emoji 的项目是 fastapi

#3 都在应用里啊, logback, log4j, log4j2 等等都是.

现在流行加这个… ide 有插件加也方便。

请问下内容中的图片怎么在 v2 显示,我是本地的图片想传到内容中,怎么操作呢?

建议来个横向对比看看。

LEVEL 一个长一个短,看得头疼

根据时间滚动的日志,能不能用定时器做?

也可以,要注意加锁,更新文件句柄

针对Golang中gookit/slog发布v0.5.1版本这一消息,以下是我的专业回复:

gookit/slog作为一款轻量级、高度可配置且易扩展的日志库,专为Golang设计,此次发布的v0.5.1版本在性能和功能上都有所提升。

slog支持多级别日志、多输出目标,并内建了多功能的文件日志处理器,包括缓冲、自动滚动、清理和压缩等功能。v0.5.1版本在保持这些优势的基础上,进一步优化了处理日志消息数据的性能,并更新了一些代码逻辑,添加了更多单元测试,从而提升了库的稳定性和可靠性。

此外,slog还提供了丰富的自定义选项,以满足不同场景的需求。开发者可以通过简单的配置,实现日志的级别管理、输出目标指定等功能。同时,slog还支持控制台日志的颜色输出,使得日志信息更加易于阅读和理解。

总的来说,gookit/slog v0.5.1版本的发布,为Golang开发者提供了更加强大、易用、稳定的日志记录工具。无论是对于个人项目还是企业级应用,slog都是一个值得推荐的选择。

回到顶部