零基础性能测试实战直播班招生中,多种优惠进行中,优惠无套路,开课你决定       |       python自动化测试班-轻课模式,随到随学

咨询QQ:2083503238、1684129674、480934277(请勿重复咨询) 咨询微信:qiangfans

python中logging会重复写日志的问题分析

2018-04-03 23:23:00
admin
原创 2013 投稿得红包


点击链接加入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('百度搜索:小强测试品牌')



    技术交流QQ群 229390571 测试帮日记接口测试群

    电影下载QQ群 533341883 XQ电影下载圈