python中logging日誌模組操作

2021-10-25 10:36:21 字數 2140 閱讀 3545

用python寫**的時候,在想看的地方寫個print xx 就能在控制台上顯示列印資訊,這樣子就能知道它是什麼了,但是當我需要看大量的地方或者在乙個檔案中檢視的時候,這時候print就不大方便了,所以python引入了logging模組來記錄我想要的資訊。

import logging  # 引入logging模組

# 將資訊列印到控制台上

logging.debug(

"蒼井空"

)logging.info(

"麻生希"

)logging.warning(

"小澤瑪利亞"

)logging.error(

"桃谷繪里香"

)logging.critical(

"瀧澤蘿拉"

)

預設生成的root logger的level是logging.warning,低於該級別的就不輸出了

級別排序:critical > error > warning > info > debug

logging.basicconfig(filename=

'sitemap.log'

, level=logging.info,

format

='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'

)logger = logging.getlogger(

)

封裝成類的操作

import logging

class

logggerhelper()

:"""自定日誌之類"""

def__init__

(self, level)

: self.level = level

defmy_log

(self,name)

:# 建立自己的日誌收集器

my_log = logging.getlogger(name)

my_log.setlevel(self.level.upper())

# 建立乙個日誌輸出渠道(輸出到控制台)

handler1 = logging.streamhandler(

) handler1.setlevel(self.level.upper())

# 建立乙個日誌輸出渠道(輸出到檔案)

handler2 = logging.filehandler(

'log.txt'

, encoding=

'utf8'

) handler2.setlevel(self.level.upper())

# 將輸出渠道新增到日誌收集器中

my_log.addhandler(handler1)

my_log.addhandler(handler2)

# 設定日誌輸出的格式

formatter =

'%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'

ft1 = logging.formatter(formatter)

# 設定日誌輸出的格式

handler1.setformatter(ft1)

handler2.setformatter(ft1)

return my_log

呼叫

from loggerhelper import logggerhelper

logger = logggerhelper(

'debug'

).my_log(

'database'

)logger.info(

'test'

)logger.error(

'test error'

)

這裡需要注意的是

logger = logggerhelper(『debug』).my_log(『database』)

為日誌函式新增乙個name,每次呼叫例項化不同的物件,不然會有重複列印日誌的問題

Python模組 logging模組列印日誌

python模組 logging 一 簡單日誌列印 直接使用logging模組,列印日誌到螢幕 預設輸出日誌的格式 日誌級別 logger名稱 使用者輸出訊息 預設的日誌級別設定為warning,logging模組將日誌列印到標準輸出中,且只顯示大於等於warning級別的日誌 日誌級別等級crit...

使用python內建模組logging日誌處理

import logging from logging import handlers ch logging.filehandler 自定義日誌檔案路徑名 encoding utf 8 utf 8是為了解決日誌檔案中的亂碼.常用於自己練習,正式開發用下面的方式。sh logging.streamha...

Python中logging的使用

我們先來看一下函式式簡單配置 預設情況下python的logging模組將日誌列印到了標準輸出中,且只顯示了大於等於warning級別的日誌,這說明預設的日誌級別設定為warning 日誌級別等級critical error warning info debug 預設的日誌格式為日誌級別 logge...