logging模块:
5种级别的日志记录模式
两种配置方式 #basicconfig、log对象(高可定制化)
import logging
logging.basicConfig(level = logging.DEBUG, #设置输出哪个级别的错误
format = '%(asctime)s % (filename) s [line:%(lineno)d] % (levelname)s %(message)s),
datefmt = '%a, %d %b %Y % H:%M:%S'
filename = '/tmp/test.log'
filemode = 'w')
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
basicconfig 简单,做的事情少,但是有中文乱码问题,且不能同时往文件和屏幕上输出
##################################################
配置log对象 稍微有点复杂,但是能做的事情更多
import logging
logger = logging.getlogger()
fh = logging.FileHandler('test.log',encoding = 'utf-8') #创建一个写入文件handler
ch = logging.StreamHandler() #创建一个输出到控制台handler
fomatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')