現(xiàn)象
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、麻山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為麻山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
小強(qiáng)python全棧自動(dòng)化測(cè)試班的學(xué)員問(wèn)到,會(huì)出現(xiàn)重復(fù)寫(xiě)日志的情況,如下
原因
當(dāng)?shù)诙握{(diào)用log的時(shí)候,根據(jù)getLogger(name)里的name獲取同一個(gè)logger,而這個(gè)logger里已經(jīng)有了第一次你添加的handler,第二次調(diào)用又添加了一個(gè)handler,也就是說(shuō)這個(gè)logger里有了兩個(gè)同樣的handler,所以就會(huì)出現(xiàn)調(diào)用幾次就會(huì)有幾個(gè)handler
解決方案
在日志記錄完之后removeHandler
例如:logger.removeHandler(streamhandler)
除此之外你也可以去判定下,如果logger.handlers列表為空,則添加,否則,直接去寫(xiě)日志,例如
if not logger.handlers: xxxx logger.error('百度搜索:小強(qiáng)測(cè)試品牌')