2017-06-01 216 views
0

我有一个sitecustomize模块,我已经实例化了一个记录器对象。目前我需要加载另一个sitecustomize。Python日志记录不工作 - 日志记录对象和sys.modules.pop()

当我sys.modules.pop('sitecustomize')的时候我会失去记录器对象吗? 我问这个的原因是因为modules.pop之后的所有日志都不显示或写入任何内容。 如果是,我该如何继续登录?弹出后,我尝试再次实例化它,它不起作用。

感谢所有帮助和意见提前

logger = logging.getLogger('Blah') 
logger.info('Attempting to current sitecustomize') 
logger.debug('sys.modules %s', sys.modules) 
if sys.modules.pop('sitecustomize',None) is not None: 
    logger = logging.getLogger('Blah') # I tried this 
    logger.info('Attempt Succeeded') 
else: 
    logger.info('Attempt Failed - see debug logs') 

logger.info('Attempting to load next sitecustomize') 

try: 
    abc = imp.find_module('sitecustomize') 
    xyz = imp.load_module('sitecustomize',*abc) 
    sys.modules['sitecustomize'] = xyz 
    logger.info('Attempt Succeeded') 
except ImportError: 
    logger.warning('Unable to find the new sitecustomize') # i know it may be silenced 
except Exception as e: 
    logger.info('Something else %', str(e)) 

回答

0

那么显然我不得不重新导入我以前导入的所有模块(被弹出后需要)。