python中logging提供了一組便利的函數,用來做簡單的日志。它們分別是 debug()、 info()、 warning()、 error() 和 critical()。
logging以嚴重程度遞增排序:
DEBUG:詳細信息,一般只在調試問題時使用
INFO:證明事情按預期工作
WARNING:某些沒有預料到的時間提示,或者在將來可能會出現的問題提示。例如:磁盤空間不足,但是軟件還是會照常運作
ERROR:由於更嚴重的問題,軟件已不能執行一些功能了
CRITICAL:嚴重錯誤,表明軟件已不能繼續運行了
嚴重級別排序:CRITICAL>ERROR>WARNING>INFO>DEBUG
默認等級是WARNING
1.輸出日志到控制台
1 import logging 2
3 # 創建一個日志收集器,指定具體名稱的記錄器
4 my_log_collector = logging.getLogger("mylog") 5
6 # 設置日志收集器等級
7 my_log_collector.setLevel("DEBUG") # 等級參數必須大寫
8
9 # 設置日志輸出格式
10 formater = logging.Formatter('%(asctime)s [%(filename)s-->line:%(lineno)d] \ 11 - %(levelname)s: %(message)s') 12
13 # 定義輸出到控制台
14 output_console = logging.StreamHandler() 15
16 # 設置輸出到控制台日志格式
17 output_console.setFormatter(formater) 18
19 # 設置輸出到控制台日志等級
20 output_console.setLevel("INFO") # 等級參數必須大寫
21
22 # 把輸出到控制台,添加到日志收集器中
23 my_log_collector.addHandler(output_console) 24
25 # 需要輸出的日志等級
26 my_log_collector.debug('輸出日志信息為debug') 27 my_log_collector.info('輸出日志信息為info') 28 my_log_collector.warning('輸出日志信息為warning') 29 my_log_collector.error('輸出日志信息為error') 30 my_log_collector.critical('輸出日志信息為critical')
2.輸出日志到具體路徑的文件夾下
1 import logging 2 # 創建一個日志收集器,指定具體名稱的記錄器
3 my_log_collector = logging.getLogger("mylog") 4
5 # 設置日志收集器等級
6 my_log_collector.setLevel("DEBUG") # 等級參數必須大寫
7
8 # 設置日志輸出格式
9 formater = logging.Formatter('%(asctime)s [%(filename)s-->line:%(lineno)d] \ 10 - %(levelname)s: %(message)s') 11
12 # 定義輸出到具體路徑下的文件夾,使用R/r進行格式化,輸出格式為【utf-8】
13 output_file = logging.FileHandler(filename=r"E:\testfile\test.log", encoding='utf-8') 14
15 # 把日志格式添加到輸出文件對象下
16 output_file.setFormatter(formater) 17
18 # 設置輸出到文件夾下的日志等級
19 output_file.setLevel("INFO") # 等級參數必須大寫
20
21 # 把輸出到控制台,添加到日志收集器中
22 my_log_collector.addHandler(output_file) 23
24 # 需要輸出的日志等級
25 my_log_collector.debug('輸出日志信息為debug') 26 my_log_collector.info('輸出日志信息為info') 27 my_log_collector.warning('輸出日志信息為warning') 28 my_log_collector.error('輸出日志信息為error') 29 my_log_collector.critical('輸出日志信息為critical')