V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
unregister
V2EX  ›  程序员

只有在捕获异常的情况下,才能使用 error 级别的日志吗?

  •  
  •   unregister · 325 天前 · 1213 次点击
    这是一个创建于 325 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2024-01-28 16:44:26 +08:00
    yusheng88
        1
    yusheng88  
       324 天前   ❤️ 3
    个人经验:
    如果因为异常导致任务、业务无法继续运行,就应该打印 error 日志
    如果因为参数错误、资源不足等,存在降级处理方案时,就选择 warn 、info 级别日志
    dyv9
        2
    dyv9  
       324 天前 via Android   ❤️ 1
    前两天帮压力测试 5 分钟 10 万个请求,发现警告的日志打太多了,几个 G ,后来就把它缓冲一下,同一个问题(看堆栈位置)在 10 分钟内只打印一次日志,减少日志量。
    unregister
        3
    unregister  
    OP
       324 天前
    @dyv9 就是放在 cache 里面吗?有就不打印,没有就打印?那你们这个 cache 怎么实现的呢?
    unregister
        4
    unregister  
    OP
       323 天前
    @dyv9 不好意思,习惯这么问问题,其实我自己心里现在也知道咋做了
    dyv9
        5
    dyv9  
       323 天前 via Android
    @unregister 我用 hash tablr 缓存了堆栈位置 (className.methodName:lineNumber) 和上次打印的时间,后面来的警告如果间隔这个时间超过 10 分钟就打印并更新缓存时间,关键是要识别出同一个错误,所以并不通用,同一个方法位置可能因为参数不同代表不同场景,我们需要想办法区分出来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5120 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 05:52 · PVG 13:52 · LAX 21:52 · JFK 00:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.