J'ai un script Python simple qui utilise le logging
intégré.
Je configure la journalisation dans une fonction. La structure de base serait quelque chose comme ceci :
#!/usr/bin/env python
import logging
import ...
def configure_logging():
logger = logging.getLogger("my logger")
logger.setLevel(logging.DEBUG)
# Format for our loglines
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
# Setup console logging
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(formatter)
logger.addHandler(ch)
# Setup file logging as well
fh = logging.FileHandler(LOG_FILENAME)
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger
def count_parrots():
...
logger.debug??
if __name__ == '__main__':
logger = configure_logging()
logger.debug("I'm a log file")
parrots = count_parrots()
Je peux appeler correctement l'enregistreur depuis __main__
. Cependant, comment appeler logger depuis la fonction count_parrots() ? Quelle est la manière la plus pythonique de gérer la configuration d'un enregistreur comme celui-ci ?