Api_God日志处理

Api_God日志处理_第1张图片

关于日志方面的一些感悟。
随着学习的逐渐深入,越来越感觉通过日志排查线上运行脚本的异常情况真的很重要,所以我认为程序的健壮很需要运行日志的支撑!

  • 日志应该怎样添加呢?

  • 首先应该建立自己的日志类
  • 其次找到程序中的关键点,进行日志输出
  • 第三日志输出尽量在程序底层,尽量不要放在业务层进行输出

下面分别说一下:

  • 建立自己的日志类:

比如python中提供的logging模块,我们可以根据模块中提供的功能进行二次封装,从而达到自定义输出的效果,例如:控制日志的输出级别、控制日志的记录字段属性、定义日志文件大小、定义日志文件存放路径、定义日志删除机制
参照:日志类

  • 程序中添加日志的关键点:

  • 在状态产生变化的地方添加日志
    关键阶段状态记录,对于程序运行情况更加了解

  • 系统入口与出口
    例如:运行的环境不同,此时输出一个日志会节省很多排查问题的时间

  • 请求异常
    这种日志的必然要添加的,在处理异常请求的时候,一定要把异常信息存起来,日后在排查问题的时候这是主要依据

  • 非预期执行
    字面可以理解,我们不想看到的情况发生了,此时我们要记下来,结合前面的日志分析出现原因

  • 很少出现的else情况
    else 可能吞掉你的请求,或是赋予难以理解的最终结果

  • 程序运行状态

    • 程序运行时间
    • 大批量数据的执行进度
    • 关键变量及正在做哪些重要的事情
      执行关键的逻辑,做IO操作等等
  • 避免在业务层添加日志

  • 业务层处理的全部为业务逻辑相关事情,相对来说比较零散,分散度比较高,例如:最简单的模型【方法实现+业务】,一般在方法封装的比较完整情况下,业务层中,也只是拼装方法,从而达到实现业务逻辑的效果;既然是这样,那我们还不如就在方法层中添加日志了,能达到在业务层中添加日志同样的效果,最主要的是还能一劳永逸;

一点不成熟的小想法,后期在持续增加

@雨 --2016-10-27 16:40:04

你可能感兴趣的:(Api_God日志处理)