溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中怎么利用logging模塊記錄程序日志

發(fā)布時間:2021-07-10 16:59:15 來源:億速云 閱讀:101 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)Python中怎么利用logging模塊記錄程序日志,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

首先來看logging簡單的使用方法。

Python中怎么利用logging模塊記錄程序日志

這一看到此圖中使用了debug()、info()、warning()、error()、critical()五個方法,這五個方法分別用來記錄DEBUG、INFO、WARNING、ERROR、CRITICAL級別的日志。但是你會發(fā)現(xiàn)debug()和info()方法沒有顯示任何信息,這是因為默認的日志級別是ERROR ,所以低于此級別的日志不會記錄。你還可能會疑惑輸出來的日志怎么這樣子?別急,往下看,慢慢來解釋。

下面我們來看怎么修改一下日志級別。

Python中怎么利用logging模塊記錄程序日志

如圖上所示,可以使用basicConfig()方法,修改日志級別,logging.DEBUG,logging.INFO,logging.WARNING,logging.ERROR,logging.CRITICAL分別代表著那五中日志級別。可以看到圖中日志級別設(shè)為INFO,那么INFO級別以上的日志都會被記錄。

下面再看下怎么修改日志的輸出格式。

Python中怎么利用logging模塊記錄程序日志

查看下執(zhí)行結(jié)果:

Python中怎么利用logging模塊記錄程序日志

這個示例內(nèi)容可能有點多了,沒關(guān)系,我們一點一點來。

首先程序中:

log_format = '%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'      

#這條是定義日志格式的一個變量。顯示的條目可以是以下內(nèi)容:

%(levelname):日志級別的名字格式

%(levelno)s:日志級別的數(shù)字表示

%(name)s:日志名字

%(funcName)s:函數(shù)名字

%(asctime):日志時間,可以使用datefmt去定義時間格式,如上圖。

%(pathname):腳本的絕對路徑

%(filename):腳本的名字

%(module):模塊的名字

%(thread):thread id

%(threadName):線程的名字

logging.basicConfig(format=log_format,datefmt='%Y-%m-%d %H:%M:%S %p',level=logging.DEBUG)   #設(shè)置日志輸出格式和級別。

上面的示例都是將日志輸出到屏幕上,能不能寫到一個日志文件中呢?答案當(dāng)然是肯定的,來看:

Python中怎么利用logging模塊記錄程序日志

看下執(zhí)行結(jié)果:

Python中怎么利用logging模塊記錄程序日志

看了吧,日志的設(shè)置都是使用basicConfig()方法,需要注意的是,日志寫入文件的默認方式是‘a(chǎn)’,也就是追加,如果想覆蓋文件,則使用如上圖那樣,使用filemode='w'。

以上就是Python中怎么利用logging模塊記錄程序日志,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI