2009-10-05 15 views
5

Ho bisogno di utilizzare il modulo di registrazione python per stampare informazioni di debug in un file con affermazioni del tipo:Come impedire il troncamento del file di log con il modulo di registrazione python?

logging.debug(something) 

Il file viene troncato (Io parto dal presupposto - dal modulo di registrazione) ei messaggi vengono eliminati prima che io possa vedere loro - come può essere prevenuto?

Qui è la mia registrazione config:

logging.basicConfig(
    level = logging.DEBUG, 
    format = '%(asctime)s %(levelname)s %(message)s', 
    filename = '/tmp/my-log.txt', 
    filemode = 'w' 
) 

Grazie!

risposta

11

logging

Se si esegue più volte lo script, i messaggi di log aggiuntivi sono in coda al file. Per creare un nuovo file ogni volta, è possibile passare un argomento filemode a basicConfig() con un valore di 'w'. Invece di gestire la dimensione del file, è più semplice utilizzare RotatingFileHandler.

per evitare di sovrascrivere il file, non è necessario impostare filemode-'w', o set it to 'a' (che è l'impostazione predefinita in ogni caso).

Credo che si stia semplicemente sovrascrivendo il file.

Problemi correlati