Настройка Sentry не работает - ничего не отправлено в Sentry - PullRequest
0 голосов
/ 13 июня 2018

Я взял на себя проект, который использует python и flask (и я тоже новичок в python / flask!).Я хотел бы добавить Sentry к нему, чтобы фиксировать любые ошибки / исключения, которые случаются.Чтобы добавить к сложности, проект разделен на несколько док-контейнеров, которые связаны друг с другом.Сначала я пытаюсь заставить основной контейнер "frontend" начать регистрировать ошибки в Sentry.

Я прочитал документацию, но она только смущает меня.

Например (из файла frontend.py):

app = WebServer(logger, environment)
sentry = Sentry(app, logging=True, level=logging.INFO)

Этов передней части приложения.Из того, что я понимаю, это должно позволить Sentry перехватывать любые исключения и отправлять их, но ничего не происходит (я сделал простое деление на ноль, чтобы вызвать исключение).

Я уверен, что, возможно, что-то упустилно я просто запутался в документации.

Например, в опции ведения журнала (я рассматривал, возможно, использование этой опции вместо этого), он говорит о настройке клиента вручную.О каком клиенте идет речь?

Я уже настраивал Sentry для работы в приложении PHP Laravel без проблем, и это было очень легко сделать.Этот путь питона выводит меня из себя.

1 Ответ

0 голосов
/ 18 июня 2018

Итак, вот что я в итоге сделал:

from raven import Client
from raven.conf import setup_logging
from raven.handlers.logging import SentryHandler

sentry_dsn = 'MY DSN FROM SENTRY'

sentry_client = Client(dsn=sentry_dsn, site='MYAPP')
handler = SentryHandler(sentry_client)
handler.setLevel(logging.ERROR)
setup_loggin(handler)

Итак, настраивая этот путь, я теперь обнаруживаю, что в любом месте моего приложения, в котором я использую регистратор, сторож забирает его и отправляет.

Кроме того, чтобы я знал, из какого раздела он идет, я создаю регистратор со значимым именем: например, logger = logging.getLogger('meaningfulname'), тогда Sentry отобразит «значимое имя» в своих результатах.

...