46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
import logging
|
|
import sys
|
|
|
|
|
|
def logging_without_formatting():
|
|
"""
|
|
La base de la journalisation.
|
|
|
|
"""
|
|
logger = logging.getLogger("noformat")
|
|
logger.debug("This is a debug message")
|
|
logger.info("This is an info message")
|
|
logger.warning("This is a warning message")
|
|
logger.error("This is an error message")
|
|
logger.critical("This is a critical message")
|
|
|
|
|
|
def logging_with_formatting():
|
|
"""
|
|
Configurer un peu notre journalisation pour mettre en forme nos messages.
|
|
|
|
"""
|
|
logger = logging.getLogger("withformat")
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
# Créer une nouvelle configuration qui sort les messages de journal dans la console
|
|
handler = logging.StreamHandler(sys.stdout)
|
|
# Configurer cet objet pour utiliser notre format
|
|
handler.setFormatter(formatter)
|
|
# Configurer le handler pour afficher aussi les messages DEBUG et INFO
|
|
handler.setLevel(logging.DEBUG)
|
|
# Assigner notre configuration à notre logger
|
|
# On doit faire tout ça parce qu'il n'y a pas de méthode
|
|
# pour facilement définir une chaîne de formatage pour un logger
|
|
logger.addHandler(handler)
|
|
logger.warning("Message d'avertissement")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# Par défaut, Python n'affiche des messages de journalisation
|
|
# que s'ils excèdent une certaine sévérité.
|
|
# Dans la plupart des langages, par défaut, c'est la sévérité
|
|
# WARNING (en-dessous, on n'indique généralement pas de problème)
|
|
# qui est la plus basse prise en compte
|
|
logging_without_formatting()
|
|
logging_with_formatting()
|