2017-06-01 311 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

那麼顯然我不得不重新導入我以前導入的所有模塊(被彈出後需要)。