天天看點

【python-pytest】怎麼利用logger在日志中列印子產品名稱和函數名稱?

一般python運作的時候,會再日志檔案裡面列印一些執行結果的日志。

但是怎麼在日志裡面列印子產品名稱和函數名稱呢?

一、列印子產品名稱

使用setup_class/teardown_class方法以及__name__(兩個下劃線)

setup_class/teardown_class方法:在一個class的開始和結束各執行一次。

__name__:可以擷取子產品(即.py)的名稱

代碼見下圖:

【python-pytest】怎麼利用logger在日志中列印子產品名稱和函數名稱?

執行後,日志檔案内會出現與下面類似的内容:

2020-05-12 16:17:24,374 [INFO] - 測試 - setup_class - --------test_myloan START--------

2020-05-12 16:18:35,270 [INFO] - 測試 - teardown_class - --------test_myloan END---------

二、列印函數名稱名稱

使用logging的formatter方法,設定參數如下圖:

【python-pytest】怎麼利用logger在日志中列印子產品名稱和函數名稱?

%(funcName)s:即表示函數的名稱

設定後并執行後,日志檔案内會出現與下面類似的内容:

2020-05-12 16:18:06,744 [INFO] - 測試  - test_1loan - 驗證成功:測試貸款

2020-05-12 16:18:25,945 [INFO] - 測試  - test_2loanview - 驗證成功:檢視貸款内容

全部設定完成,最後列印的日志,如下所示:

2020-05-12 16:17:24,374 [INFO] - 測試 - setup_class - --------test_myloan START--------

2020-05-12 16:18:06,744 [INFO] - 測試  - test_1loan - 驗證成功:測試貸款

2020-05-12 16:18:25,945 [INFO] - 測試  - test_2loanview - 驗證成功:檢視貸款内容

2020-05-12 16:18:35,270 [INFO] - 測試 - teardown_class - --------test_myloan END---------

之前列印的日志格式太亂了,修正一下之後,看起來好多了

注:文章内容主要是記錄學習過程中遇到的一些問題,以及解決方法。留個記錄,同時分享給有需要的人。如有不足之處,歡迎指正,謝謝!