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