golang 有按时间/日期切割的 log 库吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
zoharSoul
V2EX    Go 编程语言

golang 有按时间/日期切割的 log 库吗?

  •  
  •   zoharSoul 2022 年 1 月 18 日 5247 次点击
    这是一个创建于 1499 天前的主题,其中的信息可能已经有所发展或是发生改变。

    类似 log4j/logback 那种的

    20 条回复    2022-02-18 10:03:39 +08:00
    waising
        1
    waising  
       2022 年 1 月 18 日
    z657386160z
        2
    z657386160z  
       2022 年 1 月 18 日
    zoharSoul
        3
    zoharSoul  
    OP
       2022 年 1 月 18 日
    @z657386160z #2 这个是按文件大小的.
    exkernel
        4
    exkernel  
       2022 年 1 月 18 日
    mcfog
        5
    mcfog  
       2022 年 1 月 18 日   1
    zoharSoul
        6
    zoharSoul  
    OP
       2022 年 1 月 18 日
    @mcfog #5 看起来非常符合需求, 多谢大佬
    janxin
        7
    janxin  
       2022 年 1 月 18 日
    lwch
        8
    lwch  
       2022 年 1 月 18 日
    adoal
        9
    adoal  
       2022 年 1 月 18 日
    如果不考虑 Windows ,只在 Linux 运行的话,不如打到 syslog 里去,通过 logrotate 任务来切分。
    能用运维手段解决的就没必要用开发手段解决。运维手段用的基础设施往往是久经考验的。
    zoharSoul
        10
    zoharSoul  
    OP
       2022 年 1 月 18 日
    @adoal #9 log4j/logback/log4j2 之类的都是开发手段, 也是久经考验.
    adoal
        11
    adoal  
       2022 年 1 月 18 日 via iPhone
    好吧,对运维方式处理问题不感兴趣的纯程,byebye
    quzard
        12
    quzard  
       2022 年 1 月 18 日 via Android
    uber 开源的 zap 日志库
    zoharSoul
        13
    zoharSoul  
    OP
       2022 年 1 月 18 日
    @quzard #12 这个看起来完全不支持日志切割
    Immortal
        14
    Immortal  
       2022 年 1 月 18 日
    为什么就不考虑 linux 系统里自带又好用的 logrorate
    securityCoding
        15
    securityCoding  
       2022 年 1 月 18 日 via Android
    my3157
        16
    my3157  
       2022 年 1 月 18 日 via Android
    logrotate + signal ,完美解决
    dingyaguang117
        17
    dingyaguang117  
       2022 年 1 月 18 日 via iPhone
    我写了一个,原理大概就是 加锁 和 rename
    xuyang9978
        18
    xuyang9978  
       2022 年 1 月 18 日 via iPhone
    #1 的那个也不错,使用很方便,不过作者已经不维护了
    hululu
        19
    hululu  
       2022 年 1 月 22 日
    const rotate = "00 00 00 * * *"
    func RotateCrond(logger *lumberjack.Logger, rotate string) {
    rotateCrondOnce.Do(func() {
    c := cron.New(cron.WithSeconds())
    _, _ = c.AddFunc(rotate, func() {
    _ = logger.Rotate()
    })
    c.Start()
    })
    }
    SillyChenBrother
        20
    SillyChenBrother  
       2022 年 2 月 18 日
    我觉得很多都不好用,就自己写了一个。

    支持日志输出到控制台或文件,支持很多配置,如打印函数调用行,配置日志级别等。
    支持日志层级输出到不同文件,且支持文件切割,清除过期日志文件等。
    使用接口契约,你可以自行再次封装该库,我留有 SetCallerSkip 给你继续封装。

    https://github.com/hunterhug/golog
    关于     帮助文档     助推广系统     博客     API     FAQ     Solana     844 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:34 PVG 06:34 LAX 14:34 JFK 17:34
    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