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

现象

创新互联专注于企业网络营销推广、网站重做改版、麻山网站定制设计、自适应品牌网站建设、H5技术购物商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为麻山等各大城市提供网站开发制作服务。


小强python全栈自动化测试班的学员问到,会出现重复写日志的情况,如下

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

原因


当第二次调用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会重复写日志的问题分析
当前链接:http://hbruida.cn/article/gospih.html