Logging模塊的作用
從Python2.3起,Python的標(biāo)準(zhǔn)庫(kù)加入了logging模塊.logging模塊給運(yùn)行中的應(yīng)用提供了一個(gè)標(biāo)準(zhǔn)的信息輸出接口.典型的logging機(jī)制實(shí)現(xiàn)是把要輸出的數(shù)據(jù)簡(jiǎn)單地寫到一個(gè)txt文件中去.寫log文件的方式是一種常見的打log的方式,而logging模塊提供的更多,它可以把輸出信息輸出到所有類文件的對(duì)象中去,甚至TCP和UDP的sockets,email服務(wù)器,Unix的syslog系統(tǒng),NT系列的事件log系統(tǒng),內(nèi)存的buffer和HTTP服務(wù)器,當(dāng)然還有”真正的”文件中去。
子模塊的作用
logging庫(kù)的子模塊有:loggers,handlers,filters和formatters.
Loggers把應(yīng)用需要直接調(diào)用的接口暴露出來(lái).
Handlers把log記錄發(fā)到相應(yīng)的目的地.
Filters決定哪些記錄需要發(fā)給handler.
Formatters定義了log記錄的輸出格式.
代碼實(shí)現(xiàn)
基本功能代碼實(shí)現(xiàn):
logging.basicConfig()對(duì)日志系統(tǒng)進(jìn)行基本配置,使用缺省的StreamHandler和Formatter并添加根logger。一些函數(shù)如debug()、info()、warning()、error()、critical()會(huì)自動(dòng)使用basicConfig()配置好的根logger進(jìn)行日志輸出。
使用其它子模塊代碼實(shí)現(xiàn):
代碼中用到的函數(shù)都有具體說(shuō)明:
StreamHandler()實(shí)例發(fā)送錯(cuò)誤到流(類似文件的對(duì)象)
FileHandler()實(shí)例發(fā)送錯(cuò)誤到磁盤文件 ?,Handler子類常用的就是這兩個(gè)
setLevel()方法定義了一個(gè)logger處理的最低嚴(yán)重程度info,輸入info,warning,error,critical
getLogger()返回一個(gè)logger,可以指定名字,如果沒(méi)有指定返回要logger
Logger對(duì)象可以用addHandler()方法添加零個(gè)或多個(gè)handler對(duì)象到它自身
文章參考網(wǎng)站:http://crazier9527.iteye.com/blog/290018