Écrire des journaux dans un fichier en Python
-
Écrire des journaux dans un fichier avec le module
logging
en Python -
Écrire des journaux dans un fichier avec la fonction
logging.FileHandler()
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')
.
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