springboot 框架下有没有啥好用的日志框架呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
NoKey
V2EX    程序员

springboot 框架下有没有啥好用的日志框架呢

  •  
  •   NoKey 338 天前 3141 次点击
    这是一个创建于 338 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如一个配置功能,要详细记录用户的操作过程,用于后期审计
    这就涉及用例每一次操作都要记录一个操作日志
    类似的场景还有很多
    当前采用的是在代码每一处要记日志的地方,插入一个保存操作,把相关数据入库;
    然后进一步想到的是把操作发到队列中,有个地方专门消费队列消息一点点的存
    各位大佬,有没有啥好用的框架,可以很省事的干这个事情啊?
    谢谢
    21 条回复    2024-11-07 13:19:43 +08:00
    kd9yYw2RyhQwAwzn
        1
    kd9yYw2RyhQwAwzn  
       338 天前
    给接口写个切面类?然后接 elk/loki/fluent
    EastLord
        2
    EastLord  
       338 天前
    logbook
    ala2008
        3
    ala2008  
       338 天前
    你说的应该日志审计框架
    Goooooos
        4
    Goooooos  
       338 天前
    controller aop 日志
    meeop
        5
    meeop  
       338 天前
    框架干不了这个事,因为这种审计日志需要感知业务逻辑,解析业务字段的

    一般做法是自己封一个业务日志工具,实现业务逻辑,然后在一些统一的入口(比如 api 调用前后,写库前后,接消息前后,数据更新方法前后),统一埋点
    Erroad
        6
    Erroad  
       338 天前
    框架一般做不到。数据操作封装好,用切面输出到 elk/hbase 之类的
    INTOX8O
        7
    INTOX8O  
       338 天前
    https://tech.meituan.com/2021/09/16/operational-logbook.html 可以参考这个,开年的时候也做了类似的功能
    stormynight
        8
    stormynight  
       338 天前
    感觉 envers 很像你说的诉求
    billbur
        9
    billbur  
       338 天前
    chendy
        10
    chendy  
       338 天前
    应该是没有的,因为审计涉及到具体的业务,需求和设计天差地别
    接触过的项目有这么几种思路:
    1. controller 加切面,记录访问路径 + 主要参数
    2. service 加切面,记录方法 + 主要参数
    3. 监听持久层事件/加持久层拦截器,记录增删改和部分关键数据的查
    needkk
        11
    needkk  
       338 天前
    我们也有类似的需求 auditlog 这部分可以用 org.audit4j 的包。但是具体的参数传递保存这些还是得自己写切面类
    chobits336
        12
    chobits336  
       338 天前   1
    https://github.com/mouzt/mzt-biz-log
    感觉这个比较符合,封装的 aop 审计日志,注解里参数用 SpEL 表达式也比较灵活
    ccw4wcc
        13
    ccw4wcc  
       338 天前
    https://github.com/mouzt/mzt-biz-log 用这个,然后自己写业务逻辑,比如同步到消息队列等
    ZekeRuan
        14
    ZekeRuan  
       338 天前
    aop+elk
    woyaobaofu
        15
    woyaobaofu  
       338 天前   1
    AOP logbak
    Belmode
        16
    Belmode  
       338 天前
    这种基本都是手撸的,每家业务需求都不一样。
    即使用了这类框架也是很契合,到最后还是得手撸。
    kilakilia007
        17
    kilakilia007  
       338 天前 via Android
    看需求,如果只是简单的记录 xxx 用户调用了 xxx 接口可以用切面。复杂的还是乖乖地强耦合吧
    xuanbg
        18
    xuanbg  
       338 天前
    我在网关记录接口日志,就是把接口请求数据打出来,基本可以实现按需查询用户操作数据进行追溯。日志平台就是 ELK 很简单。
    xuanbg
        19
    xuanbg  
       338 天前
    对了,我还有个关键操作审计的功能。这个就不是简单打日志了。虽然写入是一个公共的日志服务,就是硬编码把业务数据丢进业务日志队列。但审计端是和业务耦合的,不同的业务有不同的数据模版。不然日志内容你是没法看的,因为根本做不到不同的业务数据格式统一。
    Tiller
        20
    Tiller  
       337 天前
    looveh
        21
    looveh  
       337 天前
    看看 jaVers 这个库呢?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1018 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 18:36 PVG 02:36 LAX 11:36 JFK 14:36
    Do have faith in what you're doing.
    ubao 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