我需要给系统加个日志,主要包括用户创建,删除,修改前的信息。 目前我的的做法很简单通过一个中间件拦截请求参数、和结果,把这些信息写到数据库中 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KouShuiYu
V2EX    问与答

我需要给系统加个日志,主要包括用户创建,删除,修改前的信息。 目前我的的做法很简单通过一个中间件拦截请求参数、和结果,把这些信息写到数据库中

  •  1
     
  •   KouShuiYu 2020-12-07 16:39:19 +08:00 1530 次点击
    这是一个创建于 1849 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这种方法如果是修改,还需要针对不同的接口查询旧值额外查询一遍然后对比,领导让我看看其他人是怎么做的,
    谈谈你们怎么做的!讨论一下?
    12 条回复    2020-12-07 21:42:41 +08:00
    XDJI
        1
    XDJI  
       2020-12-07 16:44:23 +08:00
    额 看了下这些修改都是数据库的吗 如果是的话像 mysql 监听 binlog 有变动发 mq 消费端做清洗或使用可以吗
    guisheng
        2
    guisheng  
       2020-12-07 16:47:51 +08:00
    同意楼上的做法,开启 binlog 根据日志去清洗成你想要的结构放入队列就好了。
    qiayue
        3
    qiayue  
    PRO
       2020-12-07 16:51:15 +08:00
    日志写到数据库中,那么流量一大,你的数据库就会亚历山大
    KouShuiYu
        4
    KouShuiYu  
    OP
       2020-12-07 16:58:47 +08:00
    日志里面还需要记录 ip 和那个用户操作的的信息,用 binlog 应该不行吧,我看 binlog 描述是不包含这些信息
    KouShuiYu
        5
    KouShuiYu  
    OP
       2020-12-07 16:59:14 +08:00
    @XDJI @XDJI @guisheng @qiayue 日志里面还需要记录 ip 和那个用户操作的的信息,用 binlog 应该不行吧,我看 binlog 描述是不包含这些信息
    XDJI
        6
    XDJI  
       2020-12-07 17:04:29 +08:00
    @KouShuiYu 哦哦 那就有点像 trace 了 java 可以开 aop 记录到队列里(注意性能 比如用 Disruptor ) 然后开一个上报线程每隔 5s 进行上报 (发到 mq 或直接消费 比较偏向发 mq )。然后消费端做使用或者清洗。主要就是和服务解耦,要评估下日志量和请求量看看采用啥组件比较好
    XDJI
        7
    XDJI  
       2020-12-07 17:06:04 +08:00
    如果不想引入 mq 可以专门弄个接日志的服务去处理 然后针对不同环境配不同日志上报 ip
    Aviciii
        8
    Aviciii  
       2020-12-07 17:07:04 +08:00
    我也遇到过,要记录表单某个字段的修改历史,修改前后的信息都要记录,印象里是用了对象属性值对比去做的,比较笨
    svipchao
        9
    svipchao  
       2020-12-07 17:12:58 +08:00
    监控 SQL 语句?去除无效请求参数,只监控增删改,然后记录请求参数,这样的话就没必要记录旧值了,每次增删改都会有记录
    cheng6563
        10
    cheng6563  
       2020-12-07 17:21:59 +08:00
    就这样做没啥问题,注意一下不要因为日志表挂了导致主要业务也挂了就行了。
    tiedan
        11
    tiedan  
       2020-12-07 19:33:14 +08:00
    单独写个小系统 消费日志来做
    MaxFang
        12
    MaxFang  
       2020-12-07 21:42:41 +08:00
    简单的可以放到单独的消息里面,一个小系统来处理。这样做的好处是,多系统方便接入(不用每个系统都写一套),日志接入不侵入系统,方便后续接入其他的日志。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1221 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 17:23 PVG 01:23 LAX 09:23 JFK 12:23
    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