log日志重复打印 修改
最近把接口自动化的框架做了一个全新的编写,2.0版本功能更强大了,不过在运行的时候log位置出现了使用log会重复打印
调用一次log输出一次,调用两次log输出两次,依次类推,这个事情着实让我头疼了一阵
后来进多方查找并咨询其他人找到了,
最开始是这样写的
这样书写的时候就会出现每次调用就会重复打印,原因:
logger.handlers
最初是一个空列表,执行‘logger.addHandler(ch)’添加一个‘StreamHandler、FileHandler’,输出一条日志- 在第二次被调用时,
logger.handlers
已经存在一个‘StreamHandler’,再次执行‘logger.addHandler(ch)’就会再次添加一个‘StreamHandler’,此时的logger有两个‘StreamHandler’,输出两条重复的日志 - 在第三次被调用时,
logger.handlers
已经存在两个‘StreamHandler’,再次执行‘logger.addHandler(ch)’就会再次添加一个,此时的logger有三个‘StreamHandler’,输出三条重复的日志
所以解决的办法就是在console函数中,创建handlers前面加一个判断,如果有则不新添加一个handlers
,这样在调用log函数时,就不会出现重复打印的情况。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步