DEV Community

Francisco Júnior
Francisco Júnior

Posted on

Introdução à Biblioteca logging em Python

O módulo logging é parte da biblioteca padrão do Python e fornece um sistema de registro flexível e poderoso. Ele permite a gravação de mensagens para diferentes destinos, como a saída do console, arquivos de log, sockets, entre outros.

Níveis de Log

A biblioteca logging oferece vários níveis de registro para categorizar mensagens de acordo com sua importância:

  • DEBUG: Mensagens detalhadas usadas para diagnóstico.
  • INFO: Mensagens que confirmam o funcionamento adequado do aplicativo.
  • WARNING: Indica situações potencialmente problemáticas.
  • ERROR: Mensagens de erro que indicam problemas.
  • CRITICAL: Mensagens que indicam falhas graves que podem levar ao término do programa.

Funcionalidades Principais

Configuração do Sistema de Log

A configuração do sistema de log é essencial para direcionar as mensagens para diferentes saídas, definir o nível de log e o formato das mensagens.

import logging

logging.basicConfig(filename='app.log', level=logging.DEBUG, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
Enter fullscreen mode Exit fullscreen mode

Registro de Mensagens

Registrar mensagens é simples e flexível, permitindo o uso dos diferentes níveis de log.

import logging

logging.debug('Esta é uma mensagem de depuração.')
logging.info('Esta é uma mensagem informativa.')
logging.warning('Esta é uma mensagem de aviso.')
logging.error('Esta é uma mensagem de erro.')
logging.critical('Esta é uma mensagem crítica.')
Enter fullscreen mode Exit fullscreen mode

Personalização do Logger

A personalização do logger permite criar instâncias específicas de log para diferentes partes do aplicativo.

import logging

logger = logging.getLogger('meu_logger')
logger.setLevel(logging.DEBUG)
Enter fullscreen mode Exit fullscreen mode

Saída de Log em Arquivos

Registrar mensagens em arquivos é uma prática comum para preservar um histórico de execução do aplicativo.

import logging

file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))

logger = logging.getLogger('meu_logger')
logger.addHandler(file_handler)
Enter fullscreen mode Exit fullscreen mode

Exemplos de Uso

Configuração Básica de Log

import logging

logging.basicConfig(filename='app.log', level=logging.DEBUG, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

logging.debug('Mensagem de depuração.')
logging.info('Mensagem informativa.')
logging.warning('Mensagem de aviso.')
logging.error('Mensagem de erro.')
logging.critical('Mensagem crítica.')
Enter fullscreen mode Exit fullscreen mode

Registro em Arquivo com Logger Personalizado

import logging

file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))

logger = logging.getLogger('meu_logger')
logger.addHandler(file_handler)

logger.debug('Mensagem de depuração.')
logger.info('Mensagem informativa.')
logger.warning('Mensagem de aviso.')
logger.error('Mensagem de erro.')
logger.critical('Mensagem crítica.')
Enter fullscreen mode Exit fullscreen mode

Conclusão

A biblioteca logging é uma ferramenta poderosa para registrar informações em aplicativos Python, fornecendo uma variedade de opções para personalizar o sistema de log. Isso permite a análise e diagnóstico de problemas, facilitando a manutenção e melhoria contínua dos aplicativos. Seja para depurar, monitorar ou registrar informações críticas, a biblioteca logging é uma aliada essencial para desenvolvedores Python.

Top comments (0)