日志分级没有意义0517

作者: 红尾黄花鱼 | 来源:发表于2016-05-17 09:26 被阅读170次

软件开发当中一般都要输出日志,生成日志文件。为了减少日志,很多日志库支持日志分级。这里为了简化讨论,我们假设两级,INFO和ERROR。平时开发的时候,两个级别的日志都输出,但是到了正式部署环境下,只输出ERROR级别的日志。这个设计看起来很美好,其实很糟糕,没有用处。

平时开发的时候,开发人员已经习惯了丰富的日志,在这种工作环境下养成了一系列根据日志定位问题的套路。到了正式部署环境,日志一下子变少了,立马会变得不适应,定位问题的效率会大幅下降,甚至会出现无法定位的情况。

养兵千日用在一时,输出日志最终的价值就是体现在定位现场问题。开发中,其实日志不算太重要,毕竟可以接入断点,单步跟踪。即便是依赖日志,也可以重编程序,为定位单个特定问题追加新的日志。但是定位现场问题,日志是我们唯一的定位依据,不可能重新操作反复重现,也不可能为了临时追加日志重启系统。特别是定位多线程引发的故障时,恨不得每个线程每执行一行代码都输出一行日志,然后脑补这些线程谁先执行,谁后执行,谁比谁快,谁比谁慢。

那么我们到底该如何做才是正途呢?

  1. 不要区分级别,平时开发和工程现场都是同样的日志,给开发人员一个舒服的定位问题的环境。
  2. 引入合适的日志收集和压缩机制,日志都是文本文件,压缩一下可以极大程度减少文件大小。另外硬盘不值钱,多占用一点也无妨。
  3. 设计良好的日志文件名,压缩包的包名,方便日志文件的查找。
  4. 打印日志的代码好好设计,方便用程序从多个文件中提取定位某类问题关心的日志信息。
  5. 下苦功夫,找到并且删除冗余日志,从源头真实的减少日志。

相关文章

  • 日志分级没有意义0517

    软件开发当中一般都要输出日志,生成日志文件。为了减少日志,很多日志库支持日志分级。这里为了简化讨论,我们假设两级,...

  • 幸福日志0517

    1.队友昨晚回来晚,刚好孩子们一起听睡前故事,左儿向爸爸要抱抱,右儿也要抱抱,抱完,队友说,来,还有这个人,也抱抱...

  • iOS - 原理探究之Log的重定向

    Created by Shuimu 日志分级 分级定义: Fatal 严重级别。 表明程序遇到了非常严重的错误...

  • Go语言基础练习五

    自定义日志库实现 需求分析 1.支持往不同的地方输出日志 2.日志分级别 (1) Debug (2) Trace ...

  • 日志管理 - log4j

    日志管理的做法 1.sout 2.日志框架: 分级控制, 日志文件存储 log4j的组成部分: 1.日志记录器: ...

  • 吉利星越丨高阶,心驰声往

    0517

  • 学习日志-3.2 感恩金钱·所有收入-20220517

    【精时力冥想日志】本训练营:战疫公益·感恩冥想今日主题: 0517 感恩金钱·所有收入学习日期:2022年5月17...

  • 错误日志系统建议

    1.日志分级别可以更容易筛选错误日志,但是线上只打印error日志2.错误日志要绑定一个会话ID或者一个key可以...

  • 2021-12-21

    突然就不想再写日志了,没有意义。

  • git

    从master切换到master0517的命令: git checkout master0517 遇到错误comm...

网友评论

    本文标题:日志分级没有意义0517

    本文链接:https://www.haomeiwen.com/subject/yuqirttx.html