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').