解决多个py模块调用同一个python的logging模块,打印日志冲突问题

  前期对python中的logging模块进行了封装,这样自动化测试框架中的多个测试脚本(py)就可以使用同一个封装后的日志系统,这样各脚本中只需要引用一下即可,方面快捷。那么当我使用unittest框架执行unittest.main()运行所有自动化case时,就会打印多个重复的日志。

  如下图:

解决多个py模块调用同一个python的logging模块,打印日志冲突问题_第1张图片

 

经分析主要是由于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

解决多个py模块调用同一个python的logging模块,打印日志冲突问题_第2张图片

运行测试案例:

解决多个py模块调用同一个python的logging模块,打印日志冲突问题_第3张图片

 

你可能感兴趣的:(解决多个py模块调用同一个python的logging模块,打印日志冲突问题)