作用:
1、代替print,可以把大部分你想要進行除錯的資訊列印出來,或者是輸出到指定的檔案
2、可以對一些輸出的除錯資訊分類做輸出,級別:debug、info、warning、error、critical
輸出會經過兩個渠道
1、logger 收集日誌 收集什麼型別的日誌
2、handdler 輸出日誌的渠道 指定的檔案還是控制台 預設控制台
import logging
'''kaishi'''
logging.debug(
'測試'
)logging.info(
'一下'
)logging.warning(
'這個'
)logging.error(
'怪')
logging.critical(
'日誌'
)'''jieshu'''
#結果:【若不設定級別,只會輸出warning以上型別的日誌,並且輸出到控制台】
#warning:root:怪
#error:root:乖
#critical:root:baby
步驟
# 1、定義乙個日誌收集器
my_logger=logging.getlogger(
'python11'
)# 2、設定收集級別(輸出跟收集不設定,預設輸出warning以上的)
my_logger.setlevel(
"debug"
)# 3、設定輸出格式
formatter=logging.formatter(
'%(asctime)s-%(levelname)s-%(filename)s-%(name)s-日誌資訊:%(message)s'
)# 4、建立乙個我們自己的輸出渠道(下面兩種)
ch=logging.streamhandler(
)fh=logging.filehandler(
'py11.txt'
,encoding=
'utf-8'
)# 5、設定輸出級別(輸出跟收集不設定,預設輸出warning以上的)
ch.setlevel(
"debug"
)fh.setlevel(
'debug'
)# 6、給輸出渠道設定一下輸出格式
ch.setformatter(formatter)
fh.setformatter(formatter)
# 7、兩者對接——指定輸出渠道(收集的日誌的輸出渠道)
my_logger.addhandler(ch)
my_logger.addhandler(fh)
# 8、收集日誌
my_logger.debug(
"已經懵逼"
)my_logger.error(
"振作一點"
)#9、關閉日誌收集器渠道
my_logger.removefilter(fh)
my_logger.removehandler(ch)
format引數中可能用到的格式化串:
%(name)s logger的名字
%(levelno)s 數字形式的日誌級別
%(levelname)s 文字形式的日誌級別
%(pathname)s 呼叫日誌輸出函式的模組的完整路徑名,可能沒有
%(filename)s 呼叫日誌輸出函式的模組的檔名
%(module)s 呼叫日誌輸出函式的模組名
%(funcname)s 呼叫日誌輸出函式的函式名
%(lineno)d 呼叫日誌輸出函式的語句所在的**行
%(created)f 當前時間,用unix標準的表示時間的浮 點數表示
%(relativecreated)d 輸出日誌資訊時的,自logger建立以 來的毫秒數
%(asctime)s 字串形式的當前時間。預設格式是 「2003-07-08 16:49:45,896」。逗號後面的是毫秒
%(thread)d 執行緒id。可能沒有
%(threadname)s 執行緒名。可能沒有
%(process)d 程序id。可能沒有
%(message)s 使用者輸出的訊息
PythonStudy 日誌模組 logging
日誌 日之石日常的流水,將程式執行過程中的狀態或資料盡心記錄,一般是記錄到日誌檔案當中的。在正常的專案之中,專案的執行的一些列印資訊,採用logging列印到檔案當中,這個過程就稱作為 日誌記錄模組 以下為預設的操作日誌模組 匯入日誌模組 import logging logging為預設列印者,是...
python日誌模組
logging.debug 10 logging.info 20 logging.warning 30 logging.error 40 logging.critical 50預設級別為warning 預設輸出位置為控制台 import logging logging.basicconfig 可用引...
python 日誌模組
在軟體或者系統發生錯誤時可以通過日誌快速定位到錯誤,從而定位問題,解決問題。logging模組提供的日誌記錄函式所使用的日誌器設定的日誌級別是warning,因此只有warning級別的日誌記錄以及大於它的error和critical級別的日誌記錄被輸出了,而小於它的debug和info級別的日誌記...