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