getLogger() missing 1 required positional argument: ‘name‘

1、在做python单元测试时,报以上错误

2、查看代码,发现原有如下代码:

def config_log_handler():
    # 初始化
    logging.basicConfig()
	
    ...

    logging.getLogger().setLevel(logging.INFO)
    logging.getLogger = getLogger


def getLogger(name=None):
    if name:
        log = logging.Logger.manager.getLogger(name)
        log.error = error
        return log
    else:
        return logging.RootLogger

3、默认的 getLogger被替换掉了

4、调整如下:

def config_log_handler():
    # 初始化
    logging.basicConfig()
	
    ...
	ut_path = [x for x in sys.argv if x.find('_jb_pytest_runner.py') > 0]
    if not ut_path:
        logging.getLogger().setLevel(logging.INFO)
        logging.getLogger = getLogger


def getLogger(name=None):
    if name:
        log = logging.Logger.manager.getLogger(name)
        log.error = error
        return log
    else:
        return logging.RootLogger


版权声明:本文为XinShun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。