The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
jxia

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

  •  1
     
  •   jxia · Apr 17, 2023 · 3085 views
    This topic created in 1141 days ago, the information mentioned may be changed or developed.

    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

    16 replies    2023-04-23 20:36:07 +08:00
    th00000
        1
    th00000  
       Apr 17, 2023
    第一眼看还以为是官方包里的 slog https://pkg.go.dev/golang.org/x/exp/slog
    起名大师了属于是
    leeraya
        2
    leeraya  
       Apr 17, 2023
    go 的增强日志包太卷了,大概有十几个有名的。建议像 zap 一样把自家的 log 包优势缺陷都跟其他 log 包对比下。这样能帮助技术选型时根据特点选取该用哪个包。
    kaddusabagei38
        3
    kaddusabagei38  
       Apr 17, 2023
    感觉自动清理压缩这种功能放在应用里好像不太妥..但是一想到小项目好像也没什么事情..

    先 star 支持了
    LeegoYih
        4
    LeegoYih  
       Apr 17, 2023
    level 没对齐,好难受
    jorneyr
        5
    jorneyr  
       Apr 17, 2023
    使用 json 格式吧,对日志分析友好。
    Nazz
        6
    Nazz  
       Apr 17, 2023
    @leeraya json 包更卷, 超过 1k star 的好多了
    jxia
        7
    jxia  
    OP
       Apr 17, 2023
    @th00000 哈哈 .... 这绝对不是照搬,我这项目 2020 年就开始了,可以看 commit 记录。 前段时间 官方才出了 exp/slog :)
    jxia
        8
    jxia  
    OP
       Apr 17, 2023
    @jorneyr 内置了 json text 两个日志记录格式化 Formatter ,都是支持的。
    matrix1010
        9
    matrix1010  
       Apr 17, 2023
    emoji 好多。上一个我看到每个 commit 都有 emoji 的项目是 fastapi
    zoharSoul
        10
    zoharSoul  
       Apr 17, 2023
    @kaddusabagei38 #3 都在应用里啊, logback, log4j, log4j2 等等都是.
    jxia
        11
    jxia  
    OP
       Apr 17, 2023
    @matrix1010 现在流行加这个... ide 有插件加也方便。
    kkkbbb
        12
    kkkbbb  
       Apr 17, 2023
    请问下内容中的图片怎么在 v2 显示,我是本地的图片想传到内容中,怎么操作呢?
    snxq1995
        13
    snxq1995  
       Apr 18, 2023
    建议来个横向对比看看。
    yolee599
        14
    yolee599  
       Apr 18, 2023 via Android
    LEVEL 一个长一个短,看得头疼
    fgwmlhdkkkw
        15
    fgwmlhdkkkw  
       Apr 18, 2023
    根据时间滚动的日志,能不能用定时器做?
    jxia
        16
    jxia  
    OP
       Apr 23, 2023
    @fgwmlhdkkkw 也可以,要注意加锁,更新文件句柄
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 5414617a · 78ms · UTC 15:38 · PVG 23:38 · LAX 08:38 · JFK 11:38
    ♥ Do have faith in what you're doing.