2009-10-05 7 views
5

je besoin d'utiliser le module d'enregistrement python pour imprimer informations de débogage dans un fichier avec des déclarations comme:Comment empêcher la troncature de fichier journal avec le module de journalisation python?

logging.debug(something) 

Le fichier est tronqué (je suppose - par le module d'enregistrement) et les messages sont supprimés avant que je puisse voir eux - comment cela peut-il être évité?

Voici ma config d'enregistrement:

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

Merci!

Répondre

11

logging

Si vous exécutez à plusieurs reprises le script, les messages journaux supplémentaires sont ajoutés au fichier. Pour créer un nouveau fichier à chaque fois, vous pouvez passer un argument filemode à basicConfig() avec la valeur 'w'. Plutôt que de gérer vous-même la taille du fichier, il est plus simple d'utiliser un RotatingFileHandler.

Pour éviter d'écraser le fichier, vous ne devez pas définir filemode-'w' ou set it to 'a' (qui est le réglage par défaut de toute façon).

Je crois que vous écrasez simplement le fichier.

Questions connexes