您好,登錄后才能下訂單哦!
如何在Python中設置logging和logger?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、logging模塊講解
1.函數:logging.basicConfig()
參數講解:
(1)level代表高于或者等于這個值時,那么我們才會記錄這條日志
(2)filename代表日志會寫在這個文件之中,如果沒有這個字段則會顯示在控制臺上
(3)format代表我們的日志顯示的格式自定義,如果字段為空,那么默認格式為:level:log_name:content
import logging LOG_FORMAT = "%(asctime)s======%(levelname)s++++++(message)" logging.basicConfig(filename="log1.txt",level=logging.WARNING,format=LOG_FORMAT) logging.log(logging.INFO,"This is a INFO log") logging.log(logging.ERROR,"This is a ERROR log.")
二、logging模塊的處理流程
1.四大組件
(1)日志器(Logger):產生日志的一個接口。
(2)處理器(Handler):把產生的日志發送到相應的目的地。
(3)過濾器(Filter):更精細的控制那些日志輸出。
(4)格式器(Formatter):對輸出的信息進行格式化。
2.Logger
(1)產生一個日志
(2)操作
Logger.setLevel() #設置日志器將會處理的日志消息的最低嚴重級別 Logger.addHandler() Logger.moveHander() #上面兩個函數,為該logger對象添加和移除一個handler對象 Logger.addFilter() Logger.removeFilter() #上面兩個函數,為該logger對象添加和移除一個filter對象 Logger.debug: #產生一條debug級別的日志,同理,info,error的日志消息 Logger.exception #創建一個類似于Logger.error的日志消息 Logger.log() #獲取一個明確的日志level參數類型創建一個日志記錄
(3)如何得到一個logger對象
實例化;logging.getLogger()
3.Handler
(1)把log發送到指定位置
(2)方法
setLevel\setFormat\addFilter\removeFilter
(3)不需要直接使用,Handler是基類
logging.StreamHandler #將日志消息發送到輸出到Stream。如std.out,std.err或任何file-like對 logging.FileHandler #將日志消息發送到磁盤文件。默認情況下文件大小會無限增長 logging.handlers.RotatongFileHandler #將日志消息發送到磁盤文件,并支持日志文件按大小切割 logging.handlers.TimeRotatingFileHandler #將日志消息發送到磁盤文件,并支持日志文件按時間切割 logging.handlers.HTTPHandler #將日志消息以GET或POST的方式發送到一個指定email地址 logging.NullHandler #該Handler實例會忽略error message 通常想被想使用logging的library
python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。