### 打印日誌基本操做 ###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個