sto usando il modulo di registrazione di Python, e vorrei disattivare i messaggi di log stampati dai moduli di terze parti che ho importare. Per esempio, io sto usando qualcosa come il seguente: ("! Il mio messaggio")Python Logging - Disabilitare la registrazione da moduli importati
logger = logging.getLogger()
logger.setLevel(level=logging.DEBUG)
fh = logging.StreamHandler()
fh_formatter = logging.Formatter('%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s')
fh.setFormatter(fh_formatter)
logger.addHandler(fh)
Questo stampa i miei messaggi di debug quando faccio una logger.debug, ma stampa anche i messaggi di debug da qualsiasi modulo I importazione (come richieste e un numero di altre cose).
mi piacerebbe vedere solo i messaggi di log da moduli mi interessa. E 'possibile fare il modulo di registrazione fare questo?
Idealmente, mi piacerebbe essere in grado dire il registratore per stampare i messaggi da "MODULEX, ModuleY" e ignorare tutti gli altri.
Ho guardato la segue, ma io non voglio avere a disabilitare/abilitare la registrazione prima di ogni chiamata a una funzione importata: logging - how to ignore imported module logs?
Si noti che quando si tenta di configurare i propri logger come nell'esercitazione di base ufficiale con 'logging.basicConfig (...)' tutti i logger ora verranno inviati a 'logging.lastResort' (a partire da Python 3.2, che è stderr) se non è stato fornito alcun gestore o al gestore che hai impostato. Quindi non usarlo o continuerai comunque a ricevere tutti i messaggi di registro. – user136036