Sentry PHP - определение того, действительно ли исключение / событие было успешно отправлено - PullRequest
0 голосов
/ 10 ноября 2018

Я внедрил библиотеку PHP против установки Sentry onpremise в проект, который работает отлично, у меня нет проблем с функциональностью, когда он настроен на работу.

То, что я хотел бы сделать, это определить, когда по какой-либо причине фактическая запись часов не удается, однако пытается найти место в потоке приложений, Sentry возвращает что-то, что можно использовать для определения «успешной записи».

Я вызвал ошибку, изменив адрес DSN, используемый в конструкции Raven_Client, на недопустимый URL-адрес и может подтвердить, что события НЕ записываются - что ожидается.

Sentry Raven_Client предоставляет метод getLastEventID(), который, по-видимому, содержит идентификатор при создании самого события, а не при успешной отправке на сервер (как я ожидал, и проверил проверку). чтобы отобразить мою страницу ошибки).

Существует также метод getLastError(), который является нулевым в тот момент, когда мое приложение (CodeIgniter) ввело метод My_Exceptions::show_exception(), чтобы отобразить страницу ошибки для клиента.

SentryID заполнен, и ошибка равна нулю, и я не уверен, что еще можно проверить, чтобы узнать, что отчет об ошибке действительно не был записан.

Причина, по которой я хочу сделать это, состоит в том, чтобы я мог показать пользователю другое представление (которое не говорит «Поддержка была уведомлена»; как они этого не сделали), а также функциональность, чтобы проверить это $sentryEventId и показывать пользовательскую форму обратной связи, очевидно, необходимо скрыть, поскольку sentryEventId недействителен, и обратная связь никуда не денется.

1 Ответ

0 голосов
/ 05 января 2019

Если вы используете Sentry PHP SDK версии 1.10.0 и не используете какой-либо асинхронный способ отправки событий (по умолчанию), getLastEventID() будет null, если действие send завершится неудачей.

См. Также PR , который внес это изменение.

...