Comment écrire une fonction de consignation de console personnalisée pour la sortie uniquement sur les messages de consignation de la fenêtre de la console sur une seule ligne (pas append) jusqu'au premier enregistrement de consignation standard.Comment écrire un gestionnaire de journalisation python personnalisé?
progress = ProgressConsoleHandler()
console = logging.StreamHandler()
logger = logging.getLogger('test')
logger.setLevel(logging.DEBUG)
logger.addHandler(console)
logger.addHandler(progress)
logger.info('test1')
for i in range(3):
logger.progress('remaining %d seconds' % i)
time.sleep(1)
logger.info('test2')
Alors que la sortie de la console est seulement trois lignes:
INFO: test1
remaining 0 seconds...
INFO: test2
Toutes les suggestions sur la meilleure façon sur la façon de mettre en œuvre ce?
Où 'log' est-il défini? ... à part le 'log' dans' math' ... –
La plupart de ceux-ci devraient aider: http://stackoverflow.com/search?q=python+logging+handler –
duplication possible de [Rediriger la sortie de journalisation en utilisant la coutume gestionnaire de journalisation] (http://stackoverflow.com/questions/2819791/redirect-logging-output-using-custom-logging-handler) –