сохранить исключения в файл в python - PullRequest
14 голосов
/ 12 ноября 2009

Я хочу сохранить все следующие исключения в файл. Причина, по которой я нуждаюсь в этом, заключается в том, что IDLE для python 3.1.1 в Ubuntu вызывает исключение в calltipps, но близко к быстрому, что он не читается. Также мне это нужно для тестирования. Лучше всего было бы, если бы я просто вызвал функцию, которая сохраняет все исключения в файл. Спасибо! ;)

// редактировать:

Сначала я искал более общий способ! так что вам не нужно помещать весь код в функцию или отступ. но теперь это сработало очень хорошо для меня. хотя я все равно буду благодарен, если вы найдете способ!

спасибо!

1 Ответ

32 голосов
/ 12 ноября 2009

Если у вас есть удобная функция main() (как бы она ни называлась), вы можете использовать модуль регистрации *1003*:

import logging

def main():
    raise Exception("Hey!")

logging.basicConfig(level=logging.DEBUG, filename='/tmp/myapp.log')

try:
    main()
except:
    logging.exception("Oops:")

logging.exception удобно получает текущее исключение и заносит данные в журнал:

ERROR:root:Oops:
Traceback (most recent call last):
  File "C:\foo\foo.py", line 9, in <module>
    main()
  File "C:\foo\foo.py", line 4, in main
    raise Exception("Hey!")
Exception: Hey!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...