Python:
Escrevendo para o erro padrão
Como fazer:
Usando sys.stderr
O módulo interno sys
do Python permite escrever explicitamente para stderr
. Esta abordagem é direta para mensagens de erro simples ou diagnósticos.
import sys
sys.stderr.write('Erro: Algo deu errado.\n')
Saída de exemplo (para stderr):
Erro: Algo deu errado.
Usando a função print
A função print
do Python pode redirecionar sua saída para stderr
especificando o parâmetro file
. Este método é útil para aproveitar a facilidade de uso do print
enquanto lida com mensagens de erro.
from sys import stderr
print('Erro: Falha no módulo.', file=stderr)
Saída de exemplo (para stderr):
Erro: Falha no módulo.
Usando o módulo logging
Para uma solução mais abrangente, o módulo de logging
do Python pode direcionar mensagens para stderr
e muito mais, como escrever para um arquivo ou personalizar o formato da mensagem. Este método é melhor para aplicações que requerem diferentes níveis de registro, formatação de mensagens ou destinos.
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Erro: Falha na conexão com a base de dados.')
Saída de exemplo (para stderr):
ERROR:__main__:Erro: Falha na conexão com a base de dados.
Bibliotecas de terceiros: loguru
loguru
é uma biblioteca de terceiros popular que simplifica o registro de logs em aplicações Python. Ela direciona automaticamente os erros para stderr
, entre outras funcionalidades.
Para usar o loguru
, primeiro instale-o via pip:
pip install loguru
Em seguida, incorpore-o ao seu script Python da seguinte maneira:
from loguru import logger
logger.error('Erro: Falha ao abrir arquivo.')
Saída de exemplo (para stderr):
2023-04-05 12:00:00.000 | ERROR | __main__:<module>:6 - Erro: Falha ao abrir arquivo.