Go 日志库 gookit/slog 发布 v0.5.1 版本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
jxia
V2EX    Go 编程语言

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

  •  1
     
  •   jxia 2023-04-17 13:29:01 +08:00 2826 次点击
    这是一个创建于 986 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    先 star 支持了
    LeegoYih
        4
    LeegoYih  
       2023-04-17 16:48:49 +08:00
    level 没对齐,好难受
    jorneyr
        5
    jorneyr  
       2023-04-17 16:50:43 +08:00
    使用 json 格式吧,对日志分析友好。
    Nazz
        6
    Nazz  
       2023-04-17 16:53:41 +08:00
    @leeraya json 包更卷, 超过 1k star 的好多了
    jxia
        7
    jxia  
    OP
       2023-04-17 19:14:32 +08:00
    @th00000 哈哈 .... 这绝对不是照搬,我这项目 2020 年就开始了,可以看 commit 记录。 前段时间 官方才出了 exp/slog :)
    jxia
        8
    jxia  
    OP
       2023-04-17 19:18:06 +08:00
    @jorneyr 内置了 json text 两个日志记录格式化 Formatter ,都是支持的。
    matrix1010
        9
    matrix1010  
       2023-04-17 20:20:32 +08:00
    emoji 好多。上一个我看到每个 commit 都有 emoji 的项目是 fastapi
    zoharSoul
        10
    zoharSoul  
       2023-04-17 20:42:04 +08:00
    @kaddusabagei38 #3 都在应用里啊, logback, log4j, log4j2 等等都是.
    jxia
        11
    jxia  
    OP
       2023-04-17 21:56:55 +08:00
    @matrix1010 现在流行加这个... ide 有插件加也方便。
    kkkbbb
        12
    kkkbbb  
       2023-04-17 23:38:09 +08:00
    请问下内容中的图片怎么在 v2 显示,我是本地的图片想传到内容中,怎么操作呢?
    snxq1995
        13
    snxq1995  
       2023-04-18 09:03:12 +08:00
    建议来个横向对比看看。
    yolee599
        14
    yolee599  
       2023-04-18 09:12:29 +08:00 via Android
    LEVEL 一个长一个短,看得头疼
    fgwmlhdkkkw
        15
    fgwmlhdkkkw  
       2023-04-18 16:49:44 +08:00
    根据时间滚动的日志,能不能用定时器做?
    jxia
        16
    jxia  
    OP
       2023-04-23 20:36:07 +08:00
    @fgwmlhdkkkw 也可以,要注意加锁,更新文件句柄
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2696 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 08:57 PVG 16:57 LAX 00:57 JFK 03:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86