1. 程式人生 > >python中logging會重復寫日誌的問題分析

python中logging會重復寫日誌的問題分析

python自動化測試 logging日誌 小強測試品牌 測試幫日記

點擊鏈接加入QQ群 522720170(免費公開課、視頻應有盡有):https://jq.qq.com/?_wv=1027&k=5C08ATe


現象


小強python全棧自動化測試班的學員問到,會出現重復寫日誌的情況,如下


技術分享圖片

原因



當第二次調用log的時候,根據getLogger(name)裏的name獲取同一個logger,而這個logger裏已經有了第一次你添加的handler,第二次調用又添加了一個handler,也就是說這個logger裏有了兩個同樣的handler,所以就會出現調用幾次就會有幾個handler


解決方案


在日誌記錄完之後removeHandler

例如:logger.removeHandler(streamhandler)


除此之外你也可以去判定下,如果logger.handlers列表為空,則添加,否則,直接去寫日誌,例如


if not logger.handlers:
    xxxx
logger.error('百度搜索:小強測試品牌')

技術分享圖片

python中logging會重復寫日誌的問題分析