【Python】logging模組記錄程式日誌
日誌可以用來記錄應用程式的狀態、錯誤和資訊訊息,也經常作為除錯程式的工具。它的重要性就不多說了,直接進入正題。
python提供了一個標準的日誌介面,就是logging模組。日誌級別有DEBUG、INFO、WARNING、ERROR、CRITICAL五種。
首先來看logging簡單的使用方法。
這一看到此圖中使用了debug()、info()、warning()、error()、critical()五個方法,這五個方法分別用來記錄DEBUG、INFO、WARNING、ERROR、CRITICAL級別的日誌。但是你會發現debug()和info()方法沒有顯示任何資訊,這是因為預設的日誌級別是ERROR ,所以低於此級別的日誌不會記錄。你還可能會疑惑輸出來的日誌怎麼這樣子?別急,往下看,慢慢來解釋。
下面我們來看怎麼修改一下日誌級別。
如圖上所示,可以使用basicConfig()方法,修改日誌級別,logging.DEBUG,logging.INFO,logging.WARNING,logging.ERROR,logging.CRITICAL分別代表著那五中日誌級別。可以看到圖中日誌級別設為INFO,那麼INFO級別以上的日誌都會被記錄。
下面再看下怎麼修改日誌的輸出格式。
檢視下執行結果:
這個示例內容可能有點多了,沒關係,我們一點一點來。
首先程式中:
log_format = '%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'
#這條是定義日誌格式的一個變數。顯示的條目可以是以下內容:
%(levelname):日誌級別的名字格式
%(levelno)s:日誌級別的數字表示
%(name)s:日誌名字
%(funcName)s:函式名字
%(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) #設定日誌輸出格式和級別。
上面的示例都是將日誌輸出到螢幕上,能不能寫到一個日誌檔案中呢?答案當然是肯定的,來看:
看下執行結果:
看了吧,日誌的設定都是使用basicConfig()方法,需要注意的是,日誌寫入檔案的預設方式是‘a’,也就是追加,如果想覆蓋檔案,則使用如上圖那樣,使用filemode='w'。
以上是logging模組最常用的了,基本上就夠用了。但是如果你覺得這些還不夠的話,看我下一篇部落格。會講Logger、Handler、Formatter物件,logging模組更高階的用法用法。
http://blog.chinaunix.net/uid-27571599-id-3492860.html來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2134375/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python:使用logging模組記錄日誌Python
- 日誌記錄模組logging
- Python模組學習:logging 日誌記錄Python
- python logging日誌模組以及多程式日誌Python
- python的logging日誌模組(一)Python
- python的logging日誌模組(二)Python
- python(logging )日誌模組學習Python
- Python多程式記錄日誌Python
- python之logging日誌模組詳解Python
- Python強大的日誌模組loggingPython
- 【python介面自動化】- logging日誌模組Python
- 『無為則無心』Python日誌 — 64、Python日誌模組logging介紹Python
- PyCon 2018: 利用logging模組輕鬆地進行Python日誌記錄Python
- 『無為則無心』Python日誌 — 65、日誌模組logging的使用Python
- 『無為則無心』Python日誌 — 67、logging日誌模組處理流程Python
- 日誌記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)模式
- 使用配置檔案方式記錄Python程式日誌Python
- php日誌,記錄日誌PHP
- 日誌模組(一標頭檔案就實現了日誌記錄)
- python logging日誌的禁用Python
- python日誌記錄器的配置Python
- Python 封裝日誌模型loggingPython封裝模型
- 日誌記錄器
- [python] Python日誌記錄庫loguru使用指北Python
- Laravel sql 日誌記錄LaravelSQL
- secureCRT記錄操作日誌Securecrt
- 記錄日誌檔案
- PHP日誌記錄方法PHP
- oracle日誌操作記錄Oracle
- Python中logging日誌等級有哪些Python
- python logging模組Python
- Python日誌記錄中新增自定義屬性Python
- 日誌模組
- 日誌記錄 PHP下往linux目錄下寫日誌PHPLinux
- Oracle補充日誌及日誌記錄規則Oracle
- db2不記錄日誌插入記錄DB2
- 記錄騰訊雲使用日誌
- 記錄 | 實習日誌 9