Python标准库-logging模块

时间:2022-05-04 22:36:49

Logging模块可以替代print函数的功能,并能将标准输出输入到日志文件保存起来,而且利用logging模块可以部分替代debug的功能,给程序排错。

一、logging模块的几个级别。默认情况下logging模块有6个级别。分别为NOSET值0,DeBUG值为10,INFO值为20,WARNING值为30,ERROR值为40,CRITICAL值为50(也可自己定义)。

二、这些级别的用处是,先将自己的日志定一个级别,logging模块发出的信息级别高于定义的级别,将在标准输出(屏幕)显示出来。发出的信息级别低于定义的级别则略过。

若未定义级别,默认定义的级别是WARNING

testLogging.py用于测试logging模块,给自己日志级别定义为INFO

import logging
class TestLogging(object):
def __init__(self):
logFormat = '%(asctime)-12s %(levelname)-8s %(name)-10s %(message)-12s'
logFileName = './testLog.txt'

#该脚本使用不同级别向logger发送几条信息,debug级别低于info,不输出,其他全部输出
logging.basicConfig(level=logging.INFO,
format=logFormat,
filename=logFileName,
filemode='w')

logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

if __name__ == "__main__":
test = TestLogging()
运行后testLog中打印出来的结果如下:

Python标准库-logging模块

三、写好testLogging.py,在需要加日志的地方,可以调用logging方便定位问题了