2009-07-22 4 views
2

J'ai un processus que je cours tous les jours. Il utilise la journalisation Python. Comment configurer le module de journalisation python pour écrire dans un fichier contenant la date actuelle dans le nom du fichier? Comme je redémarre le processus tous les matins, le TimedRotatingFileHandler ne fonctionnera pas. Le projet est plus grand, donc je serais intéressé de garder le code requis pour la connexion dans un fichier de configuration de journalisation.Y compris la date actuelle dans le fichier de journalisation Python

Répondre

8

Vous pouvez utiliser le TimedRotatingFileHandler. Par exemple:

import logging 
import logging.handlers 

LOG_FILENAME = '/tmp/log' 

# Set up a specific logger with our desired output level 
log = logging.getLogger(__name__) 
log.setLevel(logging.DEBUG) 
handler = logging.handlers.TimedRotatingFileHandler(LOG_FILENAME, when='D') 
log.addHandler(handler) 

Mais cela ne fonctionnera probablement que si votre programme dure plus d'une journée. Si votre script commence tous les jours dans un travail cron, il est préférable de formater manuellement le nom de fichier que vous transmettez à votre gestionnaire de journal pour inclure un horodatage.

Questions connexes