logging用于记录程序运行中一些有用信息,包括指示程序运行状态,程序运行出现的错误,警告等。
日志是分等级的,从DEBUG,INFO,WARNING, ERROR,CRITICAL,共五个等级,其中事件等级依次上升。
logging默认只有等级是WARNING或者高于WARNING的才在控制台显示输出。
常见的处理事件的方法有输出到控制台和输出到文件。如果不指定输出的日志文件,高于阈值的日志就会被直接输出到控制台。
常用的记录函数有:
logger.debug(message)
logger.info(message)
logger.warning(message)
logger.error(message)
logger.critical(message)
basicConfig()被设计成一次性函数。在程序周期中,只有第一次调用有效。
怎么追踪不同的程序的事件信息?
通过指定不同的logger名称,追踪程序的结构信息。logger = logging.getLogger(name)
logging库的三大功能类。
1、Loggers记录器
2、Handlers处理器
3、Formatters格式处理类
将处理类绑定到Loggers上,就可以对不同级别的log进行不同的处理。将Formatters绑定到Handlers上,就能记录格式的灵活性。
并且通过命名前缀能够形成具有父子关系的logger,其记录阈值都遵从父类,也和父类共享相同的Handlers。(未经测试的结论)