Ich habe ein SiteCustomize-Modul, in dem ich ein Logger-Objekt instanziiert habe. Zur Zeit muss ich eine andere Seite laden.Python Logging funktioniert nicht - Logging-Objekt und sys.modules.pop()
Verliere ich das Logger-Objekt im Moment ich sys.modules.pop ('sitecustomize')? Der Grund, warum ich das frage, ist, weil alle Protokolle nach der modules.pop nichts anzeigen oder schreiben. Wenn ja, wie kann ich mit der Protokollierung fortfahren? Ich habe versucht, es nach dem Pop erneut instanziieren, es hat nicht funktioniert.
Vielen Dank für all die Hilfe und Ansichten im Voraus
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))