解决多个py模块调用同一个python的logging模块,打印日志冲突问题
前期对python中的logging模块进行了封装,这样自动化测试框架中的多个测试脚本(py)就可以使用同一个封装后的日志系统,这样各脚本中只需要引用一下即可,方面快捷。那么当我使用unittest框架执行unittest.main()运行所有自动化case时,就会打印多个重复的日志。
如下图:
经分析主要是由于logging封装脚本中,logger参数重复导致的
def __init__(self , logger):
网上也看了其他人的解决办法,在脚本中增加removehandler,但是怎么都不生效,谁能告诉我。
我想到的方法是在————init————下面对logger参数进行赋值,我的最终目的是能够更好的打印日志,logger到底是什么字符,只要不重复就行。
增加下面随机数(一定要降低logger的重复几率才行):
1 num = "" 2 i = 0 3 while i < 10: 4 num_str = random.choice("abcdefghi_jklmnopqishuvwxyz") 5 num += str(num_str) 6 i = i+1 7 logger = num
运行测试案例: