Как регистрировать исключения в appengine? - PullRequest
8 голосов
/ 10 мая 2011
try:
  #do something that raises an exception...
except:
  logging.error('Error Message')

Я хочу, чтобы в журналах было больше, чем просто «Сообщение об ошибке».Я хочу видеть трассировку, или, по крайней мере, какое исключение было, в журналах.Как мне это сделать?

Спасибо!

Ответы [ 4 ]

8 голосов
/ 10 мая 2011

Это то, что я использую для записи всей трассировки стека:

import traceback
try:
    # your code
except:
    stacktrace = traceback.format_exc()
    logging.error("%s", stacktrace)
7 голосов
/ 10 мая 2011

logging.exception(msg[, *args])

Регистрирует сообщение с уровнем ERROR в корневом логгере. Аргументы интерпретируются как для debug (). Информация об исключении добавляется в сообщение регистрации. Эта функция должна вызываться только из обработчика исключений.

http://docs.python.org/library/logging.html#logging.exception

3 голосов
/ 10 мая 2011

Я думаю, что это должно помочь вам

import logging

try:
    #exception code
except Exception as e:
    logging.error(e)
0 голосов
/ 10 мая 2011

Вы можете установить подробности ведения журнала в Debug, Info, Warning, Error или Critical и установить их в своем приложении.Отладка даст вам много подробностей.

import logging
logging.getLogger().setLevel(logging.DEBUG)

И вы можете получить журналы конкретного фильтра в веб-консоли вашего устройства в /logs.

...