logger:日志对象,logging模块中最基础的对象,用logging.getLogger(name)方法进行初始化,name可以不填。通常logger的名字我们对应模块名,如聊天模块、数据库模块、验证模块等。
logger对象的常用方法有:
setLevel:设置日志等级
日志等级分别有以下几种:
CRITICAL : 'CRITICAL',
ERROR : 'ERROR',
WARNING : 'WARNING',
INFO : 'INFO',
DEBUG : 'DEBUG',
NOTSET : 'NOTSET',
一旦设置了日志等级,则调用比等级低的日志记录函数则不会输出,如:
import logging import sys l_g = logging.getLogger() l_g.setLevel(logging.ERROR) #日志等级为ERROR s_h = logging.StreamHandler(sys.stderr) l_g.addHandler(s_h) l_g.info('dddd') #输出等级为info
上面示例用到了StreamHandler 流对象,要进行日志输出必须有一个handler才行,具体loggin模块的handler会在下节讨论
debug:debug级输出
info:info 级输出,重要信息
warning:warning级输出,与warn相同,警告信息
error:error级输出,错误信息
critical :critical级输出,严重错误信息
五个等级从低到高分别是debug到critical
当seLevel设置为DEBUG时,可以截获取所有等级的输出
import logging import sys l_g = logging.getLogger() l_g.setLevel(logging.DEBUG) s_h = logging.StreamHandler(sys.stderr) l_g.addHandler(s_h) l_g.debug('debug msg') l_g.info('info msg') l_g.error('error msg') l_g.warn('warn msg')
在unittest中要查看更详细的信息,可以print,但是较不方便,可配置使用logging:
import logging logging.basicConfig(filename='/Users/wenli.xu/Desktop/log1.log', level=logging.INFO)
其中,filename指示了日志路径,level指示了只有严重程度大于等于INFO才会被日志记录(logging的默认level是WARNING)。
严重程度从轻到重依次为:DEBUG,INFO,WARNING,ERROR,CRITICAL
此后使用以下方法,可将关键信息输出到相应的文件中:
logging.info('important info: %s', info)
转载:https://blog.csdn.net/u011159607/article/details/79985087