Écrire des journaux dans un fichier en Python

Muhammad Maisam Abbas 10 octobre 2023
  1. Écrire des journaux dans un fichier avec le module logging en Python
  2. Écrire des journaux dans un fichier avec la fonction logging.FileHandler() en Python
Écrire des journaux dans un fichier en Python

Ce tutoriel présentera les méthodes pour écrire des journaux dans un fichier en Python.

Écrire des journaux dans un fichier avec le module logging en Python

Les journaux sont utilisés pour déboguer un programme et découvrir ce qui s’est mal passé. Le module logging est utilisé pour enregistrer des données dans un fichier en Python. Nous pouvons utiliser la fonction logging.basicConfig() pour configurer les journaux à écrire dans un fichier spécifique. Par défaut, on peut enregistrer 5 types de lignes avec le module logging. Ces types de messages incluent débogage, info, avertissement, erreur et critique. Pourtant, nous pouvons augmenter ce nombre à tout ce dont nous avons besoin grâce au codage. L’exemple de code suivant nous montre comment écrire des logs dans un fichier avec la fonction logging.basicConfig().

import logging

# Creating and Configuring Logger

Log_Format = "%(levelname)s %(asctime)s - %(message)s"

logging.basicConfig(
    filename="logfile.log", filemode="w", format=Log_Format, level=logging.ERROR
)

logger = logging.getLogger()

# Testing our Logger

logger.error("Our First Log Message")

Le contenu du fichier logfile.log :

ERROR 2021-06-13 04:14:29,604 - Our First Log Message

Nous avons écrit le message de journal Our First Log Message de niveau error avec la date et l’heure de journalisation appropriées en utilisant la fonction logging.basicConfig() dans le code ci-dessus. La chose la plus importante lors de l’écriture des journaux est la date et l’heure de leur apparition. Ainsi, nous avons d’abord créé un format pour nos journaux à l’intérieur de la chaîne Log_Format. Ce format comprend le niveau du journal, la date et l’heure de l’occurrence, et le message à écrire.

Ensuite, nous utilisons le paramètre filename de la fonction logging.basicConfig() pour spécifier le fichier journal. Nous avons attribué la valeur a au paramètre filemode de la fonction logging.basicConfig() pour ouvrir le fichier en mode append afin que les journaux précédents ne soient pas supprimés à chaque fois qu’il y a un nouveau journal. Nous définissons ensuite le paramètre format sur Log_Format. Après cette étape, nous avons attribué le logging.ERROR au paramètre level pour spécifier le niveau minimum des journaux d’erreur. Nous avons créé un objet logger avec logger = logging.getLogger() pour écrire des messages de log. En fin de compte, nous avons écrit le message d’erreur avec logger.error("Our First Log Message").

Écrire des journaux dans un fichier avec la fonction logging.FileHandler() en Python

Nous pouvons également utiliser la fonction logging.FileHandler() pour écrire des journaux dans un fichier en Python. Cette fonction prend le chemin du fichier où nous voulons écrire nos journaux. Nous pouvons ensuite utiliser la fonction addHandler() pour ajouter ce gestionnaire à notre objet logger. Le code ci-dessous montre comment écrire des journaux dans un fichier avec la fonction logging.FileHandler().

import logging

logger = logging.getLogger()
handler = logging.FileHandler("logfile.log")
logger.addHandler(handler)
logger.error("Our First Log Message")

Contenu du fichier log.log :

Our First Log Message

Nous avons écrit le message de journal, Our First Log Message, dans le fichier logfile.log avec la fonction logging.FileHandler() dans le code ci-dessus. Nous avons d’abord créé un objet logger que nous utiliserons pour écrire des logs avec la fonction logging.getLogger(). Ensuite, nous créons un gestionnaire de fichiers, handler, et lui attribuons logging.FileHandler('logfile.log'). Après cela, nous avons ajouté ce nouveau handler à notre objet logger avec logger.addHandler(handler). En fin de compte, nous avons écrit le message d’erreur dans notre fichier avec logger.error('Our First Log Message').

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Python Logging