Obtendo uma saída de erro do módulo 'log' mais útil em python
Estou usando ologger
módulo do python (python versão 3.x, mas isso não deve importar) e notei que um erro em uma string de formato é relatado da seguinte forma:
Traceback (most recent call last):
File "/usr/lib/python3.1/logging/__init__.py", line 770, in emit
msg = self.format(record)
File "/usr/lib/python3.1/logging/__init__.py", line 650, in format
return fmt.format(record)
File "/usr/lib/python3.1/logging/__init__.py", line 438, in format
record.message = record.getMessage()
File "/usr/lib/python3.1/logging/__init__.py", line 308, in getMessage
msg = msg % self.args
TypeError: %d format: a number is required, not str
Como você pode ver, não há menção de onde estava o erro real (no meu código). A propósito, aqui está o que estava errado no meu código:
logging.debug('This is a string %d', str(foo))
Alterando a%d
dentro%s
resolveu o problema
Minha pergunta é: como obtenho informações um pouco mais úteis dologging
saída do módulo? Eu tenho que escrever meu próprio logger? Onde eu ajusto ologger
module?