Python学习笔记(11)日志

日志等级

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')
 

猜你喜欢

转载自www.cnblogs.com/thyh/p/8916861.html
今日推荐