一、logging模塊講解
1.函數(shù):logging.basicConfig()
參數(shù)講解:
(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):產(chǎn)生日志的一個接口。
(2)處理器(Handler):把產(chǎn)生的日志發(fā)送到相應的目的地。
(3)過濾器(Filter):更精細的控制那些日志輸出。
(4)格式器(Formatter):對輸出的信息進行格式化。
2.Logger
(1)產(chǎn)生一個日志
(2)操作
Logger.setLevel() #設置日志器將會處理的日志消息的最低嚴重級別 Logger.addHandler() Logger.moveHander() #上面兩個函數(shù),為該logger對象添加和移除一個handler對象 Logger.addFilter() Logger.removeFilter() #上面兩個函數(shù),為該logger對象添加和移除一個filter對象 Logger.debug: #產(chǎn)生一條debug級別的日志,同理,info,error的日志消息 Logger.exception #創(chuàng)建一個類似于Logger.error的日志消息 Logger.log() #獲取一個明確的日志level參數(shù)類型創(chuàng)建一個日志記錄
(3)如何得到一個logger對象
實例化;logging.getLogger()
3.Handler
(1)把log發(fā)送到指定位置
(2)方法
setLevel\setFormat\addFilter\removeFilter
(3)不需要直接使用,Handler是基類
logging.StreamHandler #將日志消息發(fā)送到輸出到Stream。如std.out,std.err或任何file-like對 logging.FileHandler #將日志消息發(fā)送到磁盤文件。默認情況下文件大小會無限增長 logging.handlers.RotatongFileHandler #將日志消息發(fā)送到磁盤文件,并支持日志文件按大小切割 logging.handlers.TimeRotatingFileHandler #將日志消息發(fā)送到磁盤文件,并支持日志文件按時間切割 logging.handlers.HTTPHandler #將日志消息以GET或POST的方式發(fā)送到一個指定email地址 logging.NullHandler #該Handler實例會忽略error message 通常想被想使用logging的library
三、源碼
d23_2_logger_usage.py
地址:https://github.com/ruigege66/Python_learning/blob/master/d23_2_logger_usage.py
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
