[Module]Logging Module学习(待续)

简述

程序中一般都会用打印log的方式协助调试。有的程序可以在系统调试,而许多时候是程序一直在运行,可能偶然发生某个问题时,如果有log作为记录,就可以跟踪和定位问题。
Python中可以直接用print来打印log,但是其提供了logging模块,具有更为灵活和强大的log打印控制的功能。

基本的类

  • Loggers类提供了Application可以直接调用的接口;
  • Handlers类将log记录发送到合适的目标;
  • Filters类提供了过滤机制用来决定哪些log将可以输出;
  • Formatters类规定了log记录最终的输出格式。

Logger对象

Loggers并不是直接实例化的,而是通过调用一个module级别的logging.getLogger(name)来实例化一个Logger对象。如果logging.getLogger(name)中的name相同,则不论调用多少次这个函数,返回的都是同一个Logger对象的引用。
class logging.Logger类的方法如下:

Logger.propagate

Logger.setLevel(lvl)

设置logger的级别为lvl,如果是低于lvl级别的log,就会被忽略,如果没有设置的话,默认是NOTSET的级别。Logging级别如下所示:
[Module]Logging Module学习(待续)_第1张图片

Logger.isEnabledFor(lvl)

用于确认某个级别的log是否使能。

Logger.getEffectiveLevel()

Logger.getChild(suffix)

Logger.debug(msg, *args, **kwargs)

msg为字符串消息,args是格式化在前面字符串中的参数(意味着)。

你可能感兴趣的:(python,logging,调试)