一、基本介紹 logging 模塊是python自帶的一個包,因此在使用的時候,不必安裝,只需要import即可。 logging有 5 個不同層次的日誌級別,可以將給定的 logger 配置為這些級別: DEBUG:詳細信息,用於診斷問題。Value=10。 INFO:確認代碼運行正常。Value ...
一、基本介紹
logging 模塊是python自帶的一個包,因此在使用的時候,不必安裝,只需要import即可。
logging有 5 個不同層次的日誌級別,可以將給定的 logger 配置為這些級別:
DEBUG:詳細信息,用於診斷問題。Value=10。
INFO:確認代碼運行正常。Value=20。
WARNING:意想不到的事情發生了,或預示著某個問題。但軟體仍按預期運行。Value=30。
ERROR:出現更嚴重的問題,軟體無法執行某些功能。Value=40。
CRITICAL:嚴重錯誤,程式本身可能無法繼續運行。Value=50。
二、基本操作
主要調用logging.basicConfig(***kwargs*)這個函數對logging進行設置。函數常用的參數如下:
level:主要調整logging的級別
filename:輸出日誌的路徑
filemode:直接寫入還是追加寫入
format:輸出的格式
示例一:通過調整format,可以輸出我們想要的格式
1 import logging 2 3 logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S') 4 logging.warning('Admin logged out')View Code
結果:
12-Jul-18 20:53:19 - Admin logged out
示例二:logging寫多文件日誌
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 """ 4 logging模塊寫多文件日誌 5 """ 6 7 import logging 8 9 #創建文件 10 file_1 = logging.FileHandler('log_1.log', 'a') 11 #創建格式 12 fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s") 13 #文件應用格式 14 file_1.setFormatter(fat) 15 16 file_2 = logging.FileHandler('log_2.log', 'a') 17 fmt = logging.Formatter() 18 file_2.setFormatter(fmt) 19 20 logger1 = logging.Logger('s1', level=logging.ERROR) 21 22 logger1.addHandler(file_1) 23 logger1.addHandler(file_2) 24 25 #寫日誌 26 logger1.critical("i'm a error!")View Code