HOWTO · Python

Grave registros em um arquivo em Python

Podemos usar o módulo de registro para escrever registros em um arquivo em Python.

Nesta página

Este tutorial apresentará os métodos para gravar logs em um arquivo em Python.

Grave registros em um arquivo com o módulo logging em Python

Os logs são usados ​​para depurar um programa e descobrir o que deu errado. O módulo logging é usado para registrar dados em um arquivo em Python. Podemos usar a função logging.basicConfig() para configurar os logs a serem gravados em um arquivo específico. Por padrão, podemos registrar 5 tipos de linhas com o módulo logging. Esses tipos de mensagem incluem depuração, informação, aviso, erro e crítica. Ainda assim, podemos aumentar esse número para o que precisarmos por meio da codificação. O exemplo de código a seguir nos mostra como gravar logs em um arquivo com a função 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")

O conteúdo do arquivo de logfile.log:

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

Escrevemos a mensagem de log Our First Log Message do nível error com a data e hora adequadas de log usando a função logging.basicConfig() no código acima. O mais importante ao escrever os logs é a data e a hora de sua ocorrência. Portanto, primeiro criamos um formato para nossos logs dentro da string Log_Format. Este formato inclui o nível do log, a data e hora da ocorrência e a mensagem a ser escrita.

Em seguida, usamos o parâmetro filename da função logging.basicConfig() para especificar o arquivo de log. Atribuímos o valor a ao parâmetro filemode da função logging.basicConfig() para abrir o arquivo no modo append para que os logs anteriores não sejam excluídos toda vez que houver um novo log. Em seguida, definimos o parâmetro format como Log_Format. Após essa etapa, atribuímos logging.ERROR ao parâmetro level para especificar o nível mínimo dos logs para erro. Criamos um objeto logger com logger = logging.getLogger() para escrever mensagens de log. No final, escrevemos a mensagem de erro com logger.error("Our First Log Message").

Grave registros em um arquivo com a função logging.FileHandler() em Python

Também podemos usar a função logging.FileHandler() para gravar logs em um arquivo em Python. Esta função pega o caminho do arquivo onde queremos escrever nossos logs. Podemos então usar a função addHandler() para adicionar este manipulador ao nosso objeto logger. O código a seguir demonstra como gravar logs em um arquivo com a função logging.FileHandler().

import logging

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

conteúdo logfile.log:

Our First Log Message

Escrevemos a mensagem de log, Our First Log Message, no arquivo logfile.log com a função logging.FileHandler() no código acima. Primeiro criamos um objeto logger que usaremos para escrever logs com a função logging.getLogger(). Em seguida, criamos um manipulador de arquivo, handler, e atribuímos logging.FileHandler('logfile.log') a ele. Depois disso, adicionamos este novo handler ao nosso objeto logger com logger.addHandler(handler). No final, escrevemos a mensagem de erro em nosso arquivo com logger.error('Our First Log Message').