python模組學習logging
1.簡單的將日誌印到螢幕
import logging
logging.debug('This is debug message')
logging.info('This is info message')
logging.warning(Thisessage's') wart logging.warning(Thisessage' )
螢幕上列印:
WARNING:root:This is warning message
預設情況下,logging將日誌列印到螢幕,日誌等級為WARNING;
等級值
WARNING > INFO > DEBUG > NOTSET,當然也可以自己定義日誌等級。
2.透過logging.basicConfig函數對日誌的輸出格式及方式做相關配置
import logging
logging.basicConfig(level=logging.DEBUG,
name % line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b % ',
filemode='w')
logging.debug('This is debug message')
logging.info('T.This) his p.
./myapp.log檔案內容為:
Sun, 24 May 2009 21:48:54 demo2.py[line:11] DEBUG This is debug message
Sun, 24 May 2009 21:48:54 demo2.py[ :12] INFO This is info message
Sun, 24 May 2009 21:48:54 demo2.py[line:13] WARNING This is warning message
日誌
logging.basicConfig函數各指定檔案filemode:
和file函數意義相同,指定日誌檔案的開啟模式,'w'或'a'
format:
指定輸出的格式和內容,format可以輸出很多有用信息,如上例所示:
%(levelname)s:
列印日誌等級名稱
%(pathname)s: 列印目前執行程式的路徑,其實就是sys.argv[0]
%(filename)s:
列印目前執行程式名稱
%(funcName)s: 列印日誌的目前函數
%(lineno)d: 列印日誌的目前行號
%(asctime)s:
列印日誌的時間
%(thread)d: 列印執行緒ID
%(threadName)s: 列印執行緒名稱
%(PRocess)d: 列印進程ID
%(message)s:
列印日誌訊息
datefmt: 指定時間格式,同time.strftime()
level:
設定日誌級別,預設為logging.WARNING
stream:
指定將日誌的輸出流,可以指定輸出到sys.stderr,sys.stdout或文件,預設輸出到sys.stderr,當stream和filename同時指定時,stream被忽略
3.將日誌同時輸出到文件和螢幕
import logging
logging.DEBUG,
s format='%(asctime)s %:name)s format0%(asctime)s %:name)s format]s%)s[]s%)s[ ', datefmt='%a, %d %b %Y %H:%M:%S',
filemode='w')######### ########################################################### ########################################定義一個StreamHandler,將INFO等級或更高的日誌資訊列印到標準錯誤,並將其新增至目前的日誌處理物件#console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(name)-12s: % (levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)################## ########################################################### #############################
logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')
螢幕上列印:
root message
./myapp.log檔案中內容為:
Sun, 24 May 2009 21:48:54 demo2.py[line:11] DEBUG This is debug message
Sun, 24 May 2009 21:48:54 demo2.py[line:12] IN This is message
Sun, 24 May 2009 21:48:54 demo2.py[line:13] WARNING This is warning message
4.logging之日誌回滾
import loggingfrom logging.handlers import RotatingFileHandler########################################## ########################################################### ######定義一個RotatingFileHandler,最多備份5個日誌文件,每個日誌檔案最大10MRthandler = RotatingFileHandler('myapp.log', maxBytes=10*1024*1024,backupCount=5)
Rthandler.setLevel(logging .INFO)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
Rthandler.setFormatter(formatter)
logging.getLogger('').addHandler.setFormatter(formatter)
logging.getLogger('').addHandler(Rdler )################################################# ###############################################
從上例和本例可以看出,logging有一個日誌處理的主對象,其它處理方式都是透過addHandler加入的。
由於StreamHandler和FileHandler是常用的日誌處理方式,所以直接包含在logging模組中,而其他方式則包含在logging.handlers模組中,
#logger.conf
############################### ################ [loggers]
keys=root,example01,example02
[logger_root]
level=DEBUG
handlers=hand01,hand02
level=DEBUG
handlers=hand01,hand02
level=DEBUG
handlers=hand01,hand02
hand[1] hand01,hand02
qualname=example01
propagate=0
[logger_example02]
handlers=hand01,hand03
qualname=example02##propagate=###
############################ [handlers]
keys=hand01,hand02,hand03
class=StreamHandler
level=INFO
formatter=form02
args=(sys.stderr,)
[handler_hand02]class=FileHandler
level=DEBUG
formatter=form01
args=('myappargs>( handler_hand03]class=handlers.RotatingFileHandler
level=INFO
formatter=form02
args=('myapp.log', 'a', 10*1024*1024, 5)
############ ################################### [formatters]
keys=form01,form02
[formatter_form01]
format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
datefmt=%a, %d %b %Y %H:%M:% S
[formatter_form02]
format=%(name)-12s: %(levelname)-8s %(message)s
datefmt=
import loggingimport logging.config
datefmt=
import loggingimport logging.config
datefmt=
import loggingimport logging.config
datefmt=
import loggingimport logging.config
datefmt=
importfile""
logger = logging.getLogger("example01")
logger.debug('This is debug message')
logger.info('This is info message')
logger.warning('This is warningin日誌。 info message')
logger.warning('This is warning message')

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

logging的主要功能提供日誌記錄的介面和眾多處理模組,供使用者儲存各種格式的日誌,幫助偵錯程式或記錄程式運行過程中的輸出資訊。 logging日誌等級logging日誌等級分為五個等級,優先權從高到低依序是:**CRITICAL;**程式嚴重錯誤**ERROR;**程式錯誤/部分功能錯誤**WARNING;**程式有發生錯誤的可能**INFO;**程式正常運作時的資訊DEBUG程式偵錯資訊預設的日誌的記錄等級為WARNING,即當日誌的等級大於取得等於WARNING時才會被記錄。一般常用的記錄等

在編寫Python程式碼時,我們常常需要導入外部模組。但是有時候會出現模組無法讀取的錯誤,阻礙了我們的程式設計進程。這些錯誤一般有以下幾種情況和解決方法。模組未安裝或未新增到系統路徑中當我們導入模組時,Python會在系統路徑中尋找該模組。如果該模組未安裝或未新增至系統路徑中,就會出現無法讀取的錯誤。解決方法如下:(1)確認模組是否已安裝。我們可以在命令列介面輸

logging是Python標準庫中用來記錄日誌的模組。它提供了一種簡單但靈活的方法來記錄程式中的事件,以便稍後進行偵錯和分析。使用logging庫的基本步驟如下:導入logging庫importlogging配置日誌記錄器logging.basicConfig(level=logging.INFO,format='%(asctime)s-%(name)s-%(levelname)s-%(message )s')上面的程式碼配置了一個基本的日誌記錄器,指定了日誌記錄等級

從範例開始JDKLogging的使用很簡單,如下程式碼所示,先使用Logger類別的靜態方法getLogger就可以取得到一個logger,然後在任何地方都可以透過取得到的logger進行日誌輸入。例如類似logger.info("Mainrunning.")的呼叫。 packagecom.bes.logging;importjava.util.logging.Level;importjava.util.logging.Logger;publicclassLoggerTest{pr

Python是一門功能強大的程式語言,常用於資料分析、機器學習和Web開發等領域。在使用Python的過程中,我們經常需要使用各種第三方模組來擴充Python的功能。然而,如果在使用Python時遇到「模組未安裝」的錯誤,這會影響我們的工作效率和開發進度。本文將介紹如何解決Python的模組未安裝錯誤。安裝pippip是Python自備的套件管理器,可以方便地

本文以Pythonl基礎為例,主要介紹了logging模組的基礎使用方法,以及在現實應用上遇到的問題,進行了詳細的解答。

一、低配logging日誌總共分為以下五個級別,這個五個級別自下而上進行匹配debug-->info-->warning-->error-->critical,預設最低級別為warning級別。 1.v1importlogginglogging.debug('調試資訊')logging.info('正常資訊')logging.warning('警告訊息')logging.erro

日誌等級日誌等級決定了哪些訊息會輸出到日誌。 pythonLogging模組提供了6個日誌等級(從低到高):DEBUGINFOWARNINGERRORCRITICALFATAL通常,建議使用以下等級:DEBUG:用於調試訊息,僅在開發階段使用INFO:用於常規訊息,記錄系統狀態和操作WARNING:使用於潛在的問題,可能導致問題但不會立即中斷系統ERROR:用於錯誤和異常,需要關注和解決CRITICAL:用於嚴重錯誤,會導致系統中斷日誌格式日誌格式決定了日誌訊息中包含的資訊。 PythonLoggin
