Python-logging nicht Herunterfahren

Habe ich gelernt das python-logging-Modul, aber habe Probleme bekommen, die Protokollierung auf Herunterfahren, nachdem es fertig ist. Hier ist ein Beispiel -

import logging

log = logging.getLogger()
log.setLevel(logging.INFO)
handler = logging.FileHandler('test.log')
handler.setLevel(logging.INFO)
formatter = logging.Formatter(
            fmt='%(asctime)s %(levelname)s: %(message)s',
            datefmt='%Y-%m-%d %H:%M:%S'
            )
handler.setFormatter(formatter)
log.addHandler(handler)

log.info('log file is open')  
logging.shutdown()
log.info('log file should be closed')

Aber das Modul ist stilling Anmeldung nach der Anmeldung.shutdown() als log-Datei sieht wie folgt aus -

# cat test.log
2014-07-17 19:39:35 INFO: log file is open
2014-07-17 19:39:35 INFO: log file should be closed

Laut Dokumentation sollte dieser Befehl "ausführen geordneter shutdown von Spülung und schließen Sie alle Handler". Sollte ich etwas anderes tun, um zu schließen Sie die log-Datei ?

  • Ich kann mir vorstellen, dass shutdown() in der Tat spült Daten und schließt Handler, aber eine nachträgliche info() Aufruf neu initialisiert Sie mit den gleichen Einstellungen. Niemand verspricht, dass shutdown() verhindert die weitere Protokollierung; es werden nur Versprechen, dass es sicher ist, den Prozess beenden danach.
Schreibe einen Kommentar