Quindi, stavo giocando con la libreria di Google Tensorflow pubblicata ieri e ho riscontrato un fastidioso bug che continua a mordermi.Tensorflow causa la duplicazione dei messaggi di registrazione
Quello che ho fatto è stato configurare le funzioni di registrazione di Python come faccio di solito, e il risultato è stato che, se importassi la libreria di tensorflow, tutti i messaggi nella console iniziarono a raddoppiare. È interessante notare che questo è non si verifica se si utilizza solo la funzione logging.warn/info/..()
.
Un esempio di codice che fa non il doppio dei messaggi:
import tensorflow as tf
import logging
logging.warn('test')
Un esempio di codice che fa doppie tutti i messaggi:
import tensorflow as tf
import logging
logger = logging.getLogger('TEST')
ch = logging.StreamHandler()
logger.addHandler(ch)
logger.warn('test')
Ora, io sono un uomo semplice Mi piace la funzionalità di logging
, quindi lo uso. L'installazione con l'oggetto logger
e l'aggiunta di uno StreamHandler
sono qualcosa che ho notato osservando come altre persone l'hanno fatto, ma sembra che si adatti a come la cosa doveva essere utilizzata. Tuttavia, non ho una conoscenza approfondita della libreria di registrazione, in quanto ha sempre funzionato.
Quindi, qualsiasi aiuto che spieghi perché si verifica il raddoppio dei messaggi sarà molto utile.
Sto usando Ubuntu 14.04.3 LTS con Python 2.7.6, ma l'errore si verifica in tutte le versioni di Python 2.7 che ho provato.
che sto attraversando un periodo difficile replicare questo su Ubuntu 14.04 anche con Python 2.7.6: pitone testlog.py ATTENZIONE: root: prova Si può fornire un po 'più in dettaglio su come si è installato tf? – dga
Ah! C'è un refuso nel codice di esempio. L'ultima riga dovrebbe essere logger.warn ('test') invece di logging.warn. Ora l'ho replicato. E la risposta è un po 'più chiara - aspetta. – dga