python之logging.basicConfig


在自動化測試中,軟件運行會出現錯誤,這時候日志就很重要了

python的logging.basicConfig函數在這里就顯得很重要了

首先我們日志需要按照info、debug、error等級別來進行區分的。當然這個級別可以自己去設置。在一般的情況下我們普通的輸出我們直接用info類型,調試的時候用debug類型,如果預計有錯誤時那么我們就需要用error類型的日志,一般情況去info級別最為合適。

logging模塊包括logger,Handler,Filter,Formatter四個部分。

  • Logger 記錄器,用於設置日志采集。
  • Handler 處理器,將日志記錄發送至合適的路徑。
  • Filter 過濾器,提供了更好的粒度控制,它可以決定輸出哪些日志記錄。
  • Formatter 格式化器,指明了最終輸出中日志的格式。

python中配置logging有三種方式

第一種:基礎配置,logging.basicConfig(filename="config.log",filemode="w",format="%(asctime)s-%(name)s-%(levelname)s-%(message)s",level=logging.INFO)。
第二種:使用配置文件的方式配置logging,使用fileConfig(filename,defaults=None,disable_existing_loggers=Ture )函數來讀取配置文件。
第三種:使用一個字典方式來寫配置信息,然后使用dictConfig(dict,defaults=None, disable_existing_loggers=Ture )函數來瓦按成logging的配置.

日志一共分成5個等級,從低到高分別是:DEBUG ,INFO ,WARNING ,ERROR, CRITICAL。

日志輸出:可以輸出在控制台和文件

 

 

logging.basicConfig函數各參數:

filename: 指定日志文件名

filemode: 和file函數意義相同,指定日志文件的打開模式,'w'或'a'

format: 指定輸出的格式和內容,format可以輸出很多有用信息,如上例所示:

%(levelno)s: 打印日志級別的數值

%(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被忽略

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM