import logging def logging_with_formatting(): """ Configurer un peu notre journalisation pour mettre en forme nos messages. Nous devons utiliser un logger et le configurer pour savoir comment afficher nos messages. Un logger peut utiliser plusieurs handlers à la fois, et chacun a pour rôle de transporter le message original vers une destination (fichier, console etc.) Les handlers sont configurés en deux étapes : d'abord on choisit le type de handler (fichier, console, etc.), et ensuite on lui associe un "formateur" pour savoir comment stocker le message. Notez : les loggers peuvent avoir un nom, et peuvent ainsi être retrouvés n'importe où via leur nom pendant l'exécution de votre script, en utilisant la fonction `getLogger`. """ 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.FileHandler("demo.log") # Configurer cet objet pour utiliser notre format handler.setFormatter(formatter) # Et accessoirement, changer le niveau minimal de sévérité handler.setLevel(logging.INFO) # 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_with_formatting()