日志等级
debug<info<warning<error<critical
默认打印 warning,error, critical 三个等级的日志
import logging
logging.debug(‘debug message‘)
logging.info(‘info message‘)
logging.warning(‘warning message‘)
logging.error(‘error message‘)
logging.critical(‘critical message‘)
结果:
WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message
格式化打印日志
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=‘test.log‘,
filemode=‘w‘
)
logging.debug(‘debug message‘)
logging.info(‘info message‘)
logging.warning(‘warning message‘)
logging.error(‘error message‘)
logging.critical(‘critical message‘)
Mon 23 Apr 2018 10:41:51 日志.py [line:10] DEBUG debug message
Mon 23 Apr 2018 10:41:51 日志.py [line:11] INFO info message
Mon 23 Apr 2018 10:41:51 日志.py [line:12] WARNING warning message
Mon 23 Apr 2018 10:41:51 日志.py [line:13] ERROR error message
Mon 23 Apr 2018 10:41:51 日志.py [line:14] CRITICAL critical message
level打印最低等级
asctime时间 filename文件名 lineno行数 levelname 日志等级 message信息
datefmt 格式化时间 %a星期 %d天 %b月 %Y年 %H时 %M分 %S秒
filename 文件
filemode 写入模式
文件和屏幕同时打印
import logging
logger = logging.getLogger()
fh = logging.FileHandler(‘test.log‘)
ch = logging.StreamHandler()
formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s = %(message)s‘)
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.setLevel(logging.DEBUG)
logger.debug(‘logger debug message‘)
logger.info(‘logger info message‘)
logger.warning(‘logger warning message‘)
logger.error(‘logger error message‘)
logger.critical(‘logger critical message‘)
原文地址:https://www.cnblogs.com/thyh/p/8916861.html