log日志重復打印 修改


最近把接口自動化的框架做了一個全新的編寫,2.0版本功能更強大了,不過在運行的時候log位置出現了使用log會重復打印

調用一次log輸出一次,調用兩次log輸出兩次,依次類推,這個事情着實讓我頭疼了一陣

后來進多方查找並咨詢其他人找到了,

最開始是這樣寫的

 

這樣書寫的時候就會出現每次調用就會重復打印,原因:

  1. logger.handlers最初是一個空列表,執行‘logger.addHandler(ch)’添加一個‘StreamHandler、FileHandler’,輸出一條日志
  2. 在第二次被調用時,logger.handlers已經存在一個‘StreamHandler’,再次執行‘logger.addHandler(ch)’就會再次添加一個‘StreamHandler’,此時的logger有兩個‘StreamHandler’,輸出兩條重復的日志
  3. 在第三次被調用時,logger.handlers已經存在兩個‘StreamHandler’,再次執行‘logger.addHandler(ch)’就會再次添加一個,此時的logger有三個‘StreamHandler’,輸出三條重復的日志

所以解決的辦法就是在console函數中,創建handlers前面加一個判斷,如果有則不新添加一個handlers

 

 ,這樣在調用log函數時,就不會出現重復打印的情況。

 


免責聲明!

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



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