### 打印日志基本操做 ###debug
#log 的级别调试
debug、info、warning、error、critiacl(优先级从低到高,当指定打印一个优先级时,则控制台只打印/保存 >= 该优先级的日志)日志
#只在控制台打印日志orm
import logging对象
logging.basicConfig(level=logging.ERROR, #控制台打印的日志级别
format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
#日志格式
)utf-8
logging.debug('debug级别,最低级别,通常开发人员用来打印一些调试信息')
logging.info('info级别,正常输出信息,通常用来打印一些正常的操做')
logging.warning('waring级别,通常用来打印警信息')
logging.error('error级别,通常用来打印一些错误信息')
logging.critical('critical级别,通常用来打印一些致命的错误信息')开发
### 保存log 到文件中 ###get
在 logging.basicConfig 添加代码:it
filename = '保存日志文件名' #所要保存的日志文件名form
filemode = '日志的写入格式' # w:覆盖写入;a:追加写入(不写filemode 的话默认追加写入)
### 既保存日志,又能在控制台打印 ###
# 一、办公室
# 二、负责往控制台里面输出日志信息的
# 三、往日志文件里面写日志的,按天生成日志,清理日志
import logging
from logging import handlers
logger = logging.getLogger() #先实例化一个logger对象,先建立一个办公室
logger.setLevel(logging.DEBUG) #设置日志的级别的人
cl = logging.StreamHandler() #负责往控制台输出的人
bl = handlers.TimedRotatingFileHandler(filename='a.log',when='S',interval=1,backupCount=5,encoding='utf-8') #interval:间隔;backupCount:总共备份几个日志
# when,按什么单位
# S 秒
# M 分
# H 小时、
# D 天、
# W 每星期(interval==0时表明星期一)
fmt = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')
cl.setFormatter(fmt) #设置控制台输出的日志格式
bl.setFormatter(fmt) 设置文件里面写入的日志格式
logger.addHandler(cl) #把已经调教好的人放到办公室里
logger.addHandler(bl) ##把已经调教好的人放到办公室里
#指定日志的格式
logger.debug('我是debug。。。')
logger.warning('我是waring。。。')
#一、先看看,是否是控制台也有了,文件里面也有了,中文也不是乱码了#二、每秒运行一次,看看是否是每秒都会产生一个文件#三、再看看是否是帮你备份5个