Stacktrace para UserWarning
Eu vejo um aviso como este em meus logs:
py.warnings.__init__: WARNING .../bs4/__init__.py:219: UserWarning: "foo"
looks like a filename, not markup. You should probably open this file
and pass the filehandle into Beautiful Soup
Esta mensagem não ajuda muito.
Gostaria de ver o stacktrace onde isso acontece.
Por favor, não analise o conteúdo deste aviso. Esta pergunta não é sobre Beautiful Soup :-)
Uma solução fácil seria modificar o código de terceiros (bs4/__init__.py
na linha 219) e adicione algo como isto:
import traceback
logger.warn('Exc at ...\n%s' % ''.join(traceback.format_stack()))
Mas eu gostaria de evitar isso. Razões:
Este é um aviso de um sistema de produção. Eu não quero mudar a fonte.Na próxima vez que um aviso como esse ocorrer, eu gostaria de ver o rastreamento de pilha imediatamenteExiste um sinalizador ou configuração para python que eu possa alterar, para ver não apenas uma linha, mas o stacktrace while? Eu preciso dos quadros superiores para depurar isso.
Nesse ambiente, o Python 2.7 é usado.