Initial commit
This commit is contained in:
45
source/12-logging/logs/base.py
Normal file
45
source/12-logging/logs/base.py
Normal file
@ -0,0 +1,45 @@
|
||||
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()
|
Reference in New Issue
Block a user