Escribir registros en un archivo en Python

Muhammad Maisam Abbas 10 octubre 2023
  1. Escribir registros en un archivo con el módulo logging en Python
  2. Escribir registros en un archivo con la función logging.FileHandler() en Python
Escribir registros en un archivo en Python

Este tutorial presentará los métodos para escribir registros en un archivo en Python.

Escribir registros en un archivo con el módulo logging en Python

Los registros se utilizan para depurar un programa y averiguar qué salió mal. El módulo logging se utiliza para registrar datos en un archivo en Python. Podemos utilizar la función logging.basicConfig() para configurar los registros para que se escriban en un archivo específico. Por defecto, podemos registrar 5 tipos de líneas con el módulo logging. Estos tipos de mensajes incluyen depuración, información, advertencia, error y crítico. Aún así, podemos aumentar ese número a lo que necesitemos mediante la codificación. El siguiente ejemplo de código nos muestra cómo escribir registros en un archivo con la función 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")

El contenido del archivo de logfile.log:

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

Escribimos el mensaje de registro Our First Log Message de nivel error con la fecha y hora adecuadas de registro utilizando la función logging.basicConfig() en el código anterior. Lo más importante al escribir los registros es la fecha y hora en que ocurrieron. Entonces, primero creamos un formato para nuestros registros dentro de la cadena Log_Format. Este formato incluye el nivel del registro, la fecha y hora de ocurrencia y el mensaje que se va a escribir.

Luego, usamos el parámetro filename de la función logging.basicConfig() para especificar el archivo de registro. Asignamos el valor a al parámetro filemode de la función logging.basicConfig() para abrir el archivo en modo append para que los registros anteriores no se eliminen cada vez que hay un nuevo registro. A continuación, establecemos el parámetro format en Log_Format. Después de ese paso, asignamos el logging.ERROR al parámetro level para especificar el nivel mínimo de los registros a error. Creamos un objeto de registro con logger = logging.getLogger() para escribir mensajes de registro. Al final, escribimos el mensaje de error con logger.error("Our First Log Message").

Escribir registros en un archivo con la función logging.FileHandler() en Python

También podemos usar la función logging.FileHandler() para escribir registros en un archivo en Python. Esta función toma la ruta del archivo donde queremos escribir nuestros registros. Entonces podemos usar la función addHandler() para agregar este manejador a nuestro objeto logger. El siguiente código demuestra cómo escribir registros en un archivo con la función logging.FileHandler().

import logging

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

contenido de logfile.log:

Our First Log Message

Escribimos el mensaje de registro, Our First Log Message, en el archivo logfile.log con la función logging.FileHandler() en el código anterior. Primero creamos un objeto de registro que usaremos para escribir registros con la función logging.getLogger(). Luego, creamos un manejador de archivos, handler, y le asignamos logging.FileHandler('logfile.log'). Después de eso, agregamos este nuevo handler a nuestro objeto logger con logger.addHandler(handler). Al final, escribimos el mensaje de error en nuestro archivo con 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

Artículo relacionado - Python Logging