對代碼程序發生錯誤的時候,通過記錄日志的方式,來排查問題,是一個很好的習慣
對於日志的設置,需要以下幾點:
1- 存放路徑
2- 日志文件名
3- 內容格式:format
2020_10_14.21.34.24 - logBasic.py [代碼錯誤的行號] 級別:具體內容
執行時間 文件名 【報錯行號】 等級 msg(具體信息)
首先在項目下新建一個logs包,用來存放日志打印文件
其次在tools包下面新建一個logBasic.py文件
import logging import datetime def logger(): ''' logging.basicConfig函數各參數: filename:指定日志文件名; filemode:和file函數意義相同,指定日志文件的打開模式,'w'或者'a'; format:指定輸出的格式和內容,format可以輸出很多有用的信息, level logging.INFO, ''' #調用配置函數 logging.basicConfig(format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s:%(message)s', filename= f'../logs/{datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S")}.txt', level='INFO', filemode='a' ) return logging if __name__ == '__main__': log = logger() log.error('---hello---')
然后執行上面的代碼,在logs包下面就可以看到錯誤日志文件,文件里面按照以上代碼設置好的格式,記錄的信息
注意日志設置的錯誤級別:
debug:最細微的信息記錄到debug中,這個級別就是用來debug的,看程序在哪一次迭代中發生了錯誤,比如每次循環都輸出一些東西用debug級別
info:級別用於routines,也就是輸出start finish 狀態改變等信息
warn:輸出一些相對重要,但是不是程序bug的信息,比如輸入了錯誤的密碼,或者連接較慢
error:輸出程序bug,打印異常信息
critical:用於處理一些非常糟糕的事情,比如內存溢出、磁盤已滿,這個一般較少使用