logging 日誌的學習

2021-08-10 18:17:25 字數 2497 閱讀 3670

1.logging的使用

日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位**範圍進行修改。

案例:

import logging

logging.debug('this is debug')

logging.info('this is info')

logging.warning('this is warning')

輸出:

warning:root:this is warning
級別從下到上依次公升高。

預設情況下,logging

將日誌列印到螢幕,日誌級別大小關係為:

critical > error > warning > info > debug > notset

,當然也可以自己定義日誌級別。

debug:詳細的資訊

,通常只出現在診斷問題上。

info:確認一切按預期執行

warning:乙個警告,可能會有一些意想不到的事情發生了

,或表明一些問題在不久的將來

(例如。磁碟空間低」

)。這個軟體還能按預期工作

error:個更嚴重的問題

,軟體沒能執行一些功能

critical:乙個嚴重的錯誤

,這表明程式本身可能無法繼續執行

2.通過logging.basicconfig函式對日誌的輸出格式及方式做相關配置

把日誌寫在檔案中:

logger = logging.getlogger(__name__)

logging.debug('this is debug')

logging.info('this is info')

logging.warning('this is warning')

logging.error('this is error')

logging.critical('this is critical')

結果:新加了乙個檔案,內容為:

2017/11/13 22:45:54 rizhi.py[line:23] debug this is debug

2017/11/13 22:45:54 rizhi.py[line:24] info this is info

2017/11/13 22:45:54 rizhi.py[line:25] warning this is warning

2017/11/13 22:45:54 rizhi.py[line:26] error this is error

2017/11/13 22:45:54 rizhi.py[line:27] critical this is critical

引數的用法:

level: 設定日誌級別,預設為

logging.warning

filename: 指定日誌檔名。

filemode: 和

file

函式意義相同,指定日誌檔案的開啟模式,

'w'或

'a'

format: 指定輸出的格式和內容,

format

可以輸出很多有用資訊,如上例所示:

%(levelname)s: 列印日誌級別名稱

%(filename)s: 列印當前執行程式名

%(funcname)s: 列印日誌的當前函式

%(lineno)d: 列印日誌的當前行號

%(asctime)s: 列印日誌的時間

%(thread)d: 列印執行緒id

%(process)d: 列印程序id

%(message)s: 列印日誌資訊

datefmt: 指定時間格式,同

time.strftime()

stream: 指定將日誌的輸出流,可以指定輸出到

sys.stderr,sys.stdout

或者檔案,預設輸出到

sys.stderr

,當stream

和filename

同時指定時,

stream

被忽略

logging.getlogger([name]):建立乙個日誌物件:

返回乙個logger例項,如果沒有指定

name

,返回root logger

。只要name

相同,返回的

logger

例項都是同乙個而且只有乙個,即

name

和logger

例項是一一對應的。這意味著,無需把

logger

例項在各個模組中傳遞。只要知道

name

,就能得到同乙個

logger

例項。

logging.getlogger(__name__) 在上述例項中

__name__

就指的是

__main__。

logging日誌模組學習

格式化器formatter 日誌配置 日誌模組 為了列印日誌資訊的模組。import logging 測試日誌資訊 logging.debug debug message 資訊日誌資訊 logging.info info message 警告日誌資訊 logging.warn warn messag...

Python學習 日誌模組 logging

作用 在邏輯容易出錯位置手動新增日誌功能,記錄報錯資訊到檔案,以被排錯 特點 非自動記錄,為人工指定位置,指定報錯資訊內容 提供五種模式 debug info warning error critical 預設從warning開始輸出,可以根據需求 調整預設寫入檔案是追加a模式 二 logging模...

logging(日誌)的知識

標準庫裡面的logging模組,在前面學習執行緒安全時曾用來解決print被打斷的問題,這裡會介紹logging模組的功能。日誌一共分成5個等級,從低到高分別是 debug info warning error critical。這5個等級,也分別對應5種打日誌的方法 debug info warn...