V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dovme
V2EX  ›  Java

请问 aop 记录日志时,同时又多个请求过来,日志显示乱掉了,怎么办

  •  
  •   dovme · 2019-02-20 11:38:37 +08:00 · 3144 次点击
    这是一个创建于 2086 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请看图片,同时进来两个请求,日志就乱掉了,
    请问怎么解决这个问题 springboot
    18 条回复    2019-02-22 14:10:18 +08:00
    dovme
        1
    dovme  
    OP
       2019-02-20 12:02:25 +08:00
    在线等。。。
    serical
        2
    serical  
       2019-02-20 12:18:06 +08:00 via Android   ❤️ 1
    可以一次打印所有的日志信息
    codingadog
        3
    codingadog  
       2019-02-20 12:21:40 +08:00 via Android   ❤️ 1
    带上线程号吧
    Kaiv2
        4
    Kaiv2  
       2019-02-20 12:22:42 +08:00   ❤️ 1
    加给 全局唯一标识 过滤下
    zk123
        5
    zk123  
       2019-02-20 12:23:17 +08:00 via iPhone   ❤️ 3
    logback 的 mdc 考虑下
    mrdemonson
        6
    mrdemonson  
       2019-02-20 12:47:01 +08:00 via Android   ❤️ 2
    日志单独开线程,做队列处理
    smeraldo
        7
    smeraldo  
       2019-02-20 13:19:40 +08:00   ❤️ 2
    每个 request 加 uuid
    crossoverJie
        8
    crossoverJie  
       2019-02-20 13:36:15 +08:00   ❤️ 2
    你需要一个 traceID
    947211232
        9
    947211232  
       2019-02-20 13:41:21 +08:00   ❤️ 1
    队列+1,还有,头像很可爱
    Kyle18Tang
        10
    Kyle18Tang  
       2019-02-20 14:12:17 +08:00 via Android   ❤️ 1
    顺序是乱的,但是前面的线程名字是不同的。
    xiaoxinshiwo
        11
    xiaoxinshiwo  
       2019-02-20 14:42:10 +08:00   ❤️ 1
    traceId
    paouke
        12
    paouke  
       2019-02-20 15:12:13 +08:00   ❤️ 1
    我都是 aop 进来生成个 requestId,然后打日志都带上
    skypyb
        13
    skypyb  
       2019-02-20 16:37:53 +08:00   ❤️ 2
    可以按照按用户名(或别的啥玩意)切分, MDC 了解一下?
    http://skypyb.com/2018/08/15/springboot_logback_mdc/
    dovme
        14
    dovme  
    OP
       2019-02-20 16:39:27 +08:00
    @zk123 #5
    @skypyb #13 谢谢 目前已采用这种方式。
    Variazioni
        15
    Variazioni  
       2019-02-20 21:29:04 +08:00
    @skypyb 这页面的背景音乐吓死我了。。。
    skypyb
        16
    skypyb  
       2019-02-20 23:42:06 +08:00
    @Variazioni emmmmmm 大部分都是比较轻柔的,可能你恰好碰上了那几首音调高的吧= =
    zhazi
        17
    zhazi  
       2019-02-21 07:34:45 +08:00 via Android
    ....这种 print 日志用控制台看?不入库?
    lff0305
        18
    lff0305  
       2019-02-22 14:10:18 +08:00
    1. 用线程号,或者 userid,requestid 之类的来区分
    2. 比较时髦的方法是 tracing,opentracing / jaeger / spring sleuth
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3182 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:38 · PVG 20:38 · LAX 04:38 · JFK 07:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.