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

Info 日志和 Debug 日志的界限在哪?

  •  
  •   aqtata · 2023-11-24 09:40:29 +08:00 · 3319 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于排查问题来说 Info 的信息似乎不够多,基本都是看 Debug 了。 如此以来就感觉 Info 级基本没什么作用了。

    有什么指导性建议吗?

    24 条回复    2023-11-25 02:31:18 +08:00
    coyove
        1
    coyove  
       2023-11-24 09:48:19 +08:00
    你 debug info 分这么细,别人又会问你 debug trace 的区别,说一千道一万做业务就是 info (非 error )和 error 两种层级有意义。
    wkong
        2
    wkong  
       2023-11-24 09:50:24 +08:00
    debug 是详细的 info
    waytodelay
        3
    waytodelay  
       2023-11-24 09:50:43 +08:00
    @coyove warn 也有吧。。
    runchaos
        4
    runchaos  
       2023-11-24 09:50:57 +08:00
    实际开发,其实就 error 和非 error 两种。
    一般就是 info 和 error 两种。
    cubecube
        5
    cubecube  
       2023-11-24 09:51:00 +08:00
    debug 一般上生产 debug 就关了,所以可以随意打印一些出入参数,调试信息
    info 一般记录系统模块启停运行,重要步骤出入口,系统内部各种重要状态变化等
    xx219
        6
    xx219  
       2023-11-24 10:01:34 +08:00
    一把梭,全打
    chendy
        7
    chendy  
       2023-11-24 10:05:19 +08:00   ❤️ 1
    关键业务信息用 info
    细节信息,开启之后很快会把磁盘打满的用 debug
    wjx0912
        8
    wjx0912  
       2023-11-24 10:05:20 +08:00
    正常运行用 info ,复现 bug 的时候打开开关切换到 debug
    4kingRAS
        9
    4kingRAS  
       2023-11-24 10:10:59 +08:00
    隐私信息,密码,ip 什么的,info 打不合适,但是 debug 时要看,就是 debug 日志
    nothingistrue
        10
    nothingistrue  
       2023-11-24 10:13:22 +08:00
    单元测试期间用 debug ,提交给测试部以后就应当提升到 info ,上生产之后就必须不得低于 info 。

    debug 、trace 级别対标的是断点 debug 操作,相当于断点调试的替代工具。另外对于自动化单元测试,往往也需要用 debug 日志来辅助校验。

    info 、warn 、error 属于常规日志,后面俩都是报警用的,而 info 则是用于报警之后的问题定位和复现。
    leconio
        11
    leconio  
       2023-11-24 10:22:56 +08:00
    一段业务一个 info ,一个算法一个 debug 。info 可以线上打,debug 不能现上打,意味着 info 不能含有用户隐私的数据,脱敏处理
    StarsunYzL
        12
    StarsunYzL  
       2023-11-24 10:32:56 +08:00
    看情况,个人喜欢 info 是给非研发人员看的,尽量让非研发人员能看懂,debug 是给研发看的。

    比如 log 需要同时输出到界面上和 log.txt ,那可以设置界面的 log level 为 info ,log.txt 的 level 为 debug ,这样界面的 log 用户能看懂,log.txt 同时包含 info 和 debug 也方便研发排错
    Vindroid
        13
    Vindroid  
       2023-11-24 10:43:37 +08:00
    我喜欢把用户的操作、其他服务发送的消息用 info 来输出,程序自身的逻辑用 debug ,区分行为者,而且生产环境也不会关 debug ,很多时候客户遇到问题光靠 info 完全不足以分析原因,所以我宁愿占用多些磁盘和 CPU ,也要让 log 完整记录
    murmur
        14
    murmur  
       2023-11-24 10:49:33 +08:00
    xxx 插入了一条记录 info
    打开数据库
    数据库加锁
    写入数据库
    数据库解锁
    函数返回 这些都是 debug
    ddonano
        15
    ddonano  
       2023-11-24 10:51:50 +08:00
    大公司有严格的信息安全要求的,可能不能打印一些用户信息,小公司全打印出来,方便问题定位
    LLaMA2
        16
    LLaMA2  
       2023-11-24 11:03:50 +08:00
    你可以这么理解,


    info 日志是给运营人员看的,
    他们不需要知道你的软件细节是怎么运作的,
    但是他们希望能追踪到一个用户是如何使用软件的。
    例如积分是如何变更的,变更的结果是否符合期望


    debug 是给开发运维的人看的,
    他们希望在运营人员对某些数据的变更有异议的时候根据 debug 确认是逻辑错误还是业务本就如此。
    同时在用户反馈有错误时用户到底提交了什么数据,触发了什么东西引起了用户认为的错误(也可能软件就是这般设计,并不是错误)
    zypy333
        17
    zypy333  
       2023-11-24 11:17:33 +08:00
    感觉一些关键业务运行的参数打到 info 里,这样可以直接通过看日志,便于发生错误的时候能够快速定位运行问题和预测进哪个逻辑分支。debug 可能更偏底层一些,我用的相对少
    ZhanLangCN
        18
    ZhanLangCN  
       2023-11-24 11:19:05 +08:00   ❤️ 3
    log.warn("你这是违法行为");
    log.info("走, 跟我去自首");
    log.info("没想到, 捅了老窝");
    log.warn("任何邪恶, 终将绳之于法");
    log.error("不是白象我不吃");
    dearzhzhao
        19
    dearzhzhao  
       2023-11-24 11:33:23 +08:00
    yolee599
        20
    yolee599  
       2023-11-24 12:25:54 +08:00 via Android
    debug 开发的时候用,info 上线用。事实是,线上出问题的时候恨不得把所有打印都打出来
    zlo309618100
        21
    zlo309618100  
       2023-11-24 16:02:21 +08:00
    一般不用 info
    只有 debug 和 error
    Jerry23333
        22
    Jerry23333  
       2023-11-24 16:48:03 +08:00
    对性能的影响程度
    iovekkk
        23
    iovekkk  
       2023-11-24 17:22:56 +08:00
    其实很好理解
    debug 就是开发阶段调试用的,上线肯定要关掉
    info 就是你需要分析线上环境的问题时所需要的所有信息
    warn 就是没有达到预期逻辑分支时的场景日志
    error 就是异常报错信息
    akira
        24
    akira  
       2023-11-25 02:31:18 +08:00
    做啥事了,info
    具体咋做的,debug
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:02 · PVG 13:02 · LAX 21:02 · JFK 00:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.