python之logging模組,詳解

2021-10-18 09:24:46 字數 1725 閱讀 9627

python之logging模組

1.四個主要類:

1.logger 提供了應用程式可以直接使用的介面;

handler 將(logger建立的)日誌記錄傳送到合適的目的輸出;

filter 提供了細度裝置來決定輸出哪條日誌記錄;用處不太大

formatter 決定日誌記錄的最終輸出格式

2.主要模組使用:

**logging.getlogger([name])**返回乙個logger物件,如果沒有指定名字將返回 root logger,最常用

logging.basicconfig():給logger物件的配置管理函式,不常用

logging.debug() / logging.info() / logging.warning() / logging.error() / logging.critical() logger 的日誌級別

example:

class mylogging:

definit(self):

timestr = time.strftime(』%y%m%d%h%m%s』,time.localtime(time.time())) # 本地時間

lib_path = os.path.abspath(os.path.join(os.path.dirname(file),』…/logs』)) # 路徑

filename = lib_path + 『/』 + timestr + 『.log』 # 日誌檔案位址

self.logger = logging.getlogger() # 定義對應程式模組名name,預設為root

self.logger.setlevel(logging.info) # 必須設定,這裡如果不顯示設定,預設過濾掉warning之前的所有級別的資訊

sh = logging.streamhandler()# 日誌輸出到螢幕控制台

sh.setlevel((logging.info)) # 設定日誌等級

fh = logging.filehandler(filename=filename) # 向檔案filename輸出日誌資訊

fh.setlevel(logging.info) # 設定日誌等級

# 設定格式物件

formatter = logging.formatter("%(asctime)s %(filename)s[line:%(lineno)d]%(levelname)s - %(message)s")# 日誌輸出格式

# 設定handler的格式物件

sh.setformatter(formatter)

fh.setformatter(formatter)

# 將handler增加到logger中

self.logger.addhandler(sh)

self.logger.addhandler(fh)

logger級別

ifname== 「main」:

log = mylogging().logger

log.debug(「debug」) # 不輸出

log.info(「info」) # 輸出

log.warning(「warning」) # 輸出

log.error(「error」) # 輸出

log.critical(「critical」) # 輸出

剩餘檢視鏈結,

Python 模組之logging日誌

logging模組是pyhton自帶的內建模組,提供了標準的日誌介面 日誌等級列表 日誌等級 level 描述級別 notset 不設定0 debug 最詳細的日誌資訊,典型應用場景是 問題診斷 10info 資訊詳細程度僅次於debug,通常只記錄關鍵節點資訊,用於確認一切都是按照我們預期的那樣進...

python 日誌處理之logging

日誌是用來記錄程式在執行過程中發生的狀況,在程式開發過程中新增日誌模組能夠幫助我們了解程式執行過程中發生了哪些事件,這些事件也有輕重之分。根據事件的輕重可分為以下幾個級別 debug 詳細資訊,通常僅在診斷問題時才受到關注。整數level 10 info 確認程式按預期工作。整數level 20 w...

python 之列印日誌logging

import logging 引入logging模組 將資訊列印到控制台上 logging.debug u 蒼井空 logging.info u 麻生希 logging.warning u 小澤瑪利亞 logging.error u 桃谷繪里香 logging.critical u 瀧澤蘿拉 回顯 ...