Перейти к содержимому

Обработка Ошибок (Error Handling)

Класс TGZ включает в себя трейт ErrorHandler, который предоставляет мощные механизмы для перехвата, форматирования и отправки информации об ошибках и исключениях.

setUserLogError

Метод setUserLogError активирует встроенный обработчик ошибок. При возникновении ошибок информация о них будет отформатирована и отправлена указанному пользователю(ям) Telegram или передана в пользовательскую функцию-обработчик.

Параметры метода

#НазваниеТипОписание
1idsint|string|array|callableОдин или несколько ID пользователей/чатов, куда будут отправляться отчеты об ошибках. Или замыкание со своей обработкой

Возвращает

TGZ - Экземпляр класса TGZ для цепочки вызовов.

Пример использования

php
<?php
require_once __DIR__ . 'vendor/autoload.php';

use ZhenyaGR\TGZ\TGZ;

$tg = TGZ::create(ТОКЕН);

// 1. Отправка ошибок одному пользователю Telegram
$adminChatId = 123456789; // Ваш Telegram ID
$tg->setUserLogError($adminChatId);

// 2. Отправка ошибок нескольким пользователям Telegram
$adminChatIds = [123456789, 987654321]; // ID нескольких администраторов
$tg->setUserLogError($adminChatIds);

// 3. Использование пользовательской функции-обработчика ошибок
$tg->setUserLogError(function(string $type, string $message, ?int $code, ?Throwable $exception) {
// Здесь вы можете записать ошибку в файл, отправить в Sentry и т.д.
error_log("[$type] Ошибка: " . $message);
});

setTracePathFilter

Метод setTracePathFilter позволяет указать пути к файлам или директориям, которые будут скрыты или сокращены в трассировке стека ошибок.

Параметры метода

#НазваниеТипОписание
1pathesstring|arrayОдин путь или массив путей для фильтрации.

Возвращает

void

Пример использования

php
<?php
require_once __DIR__ . 'vendor/autoload.php';

use ZhenyaGR\TGZ\TGZ;

$tg = TGZ::create(ТОКЕН)->setUserLogError(123456789);

// Фильтрация папки vendor
$tg->setTracePathFilter('/path/to/your/project/vendor');

shortTrace

Метод shortTrace позволяет настроить отображение трассировки стека ошибок, оставляя только те кадры, которые относятся к вашему пользовательскому коду.

Параметры метода

#НазваниеТипОписание
1enableboolЕсли true, активирует короткую трассировку (по умолчанию false).

Возвращает

TGZ - Экземпляр класса TGZ для цепочки вызовов.

Пример использования

php
<?php
require_once __DIR__ . 'vendor/autoload.php';

use ZhenyaGR\TGZ\TGZ;

$tg = TGZ::create(ТОКЕН);
$adminChatId = 123456789;
$tg->setUserLogError($adminChatId);

// Включение короткой трассировки:
$tg->shortTrace(true);

Опубликовано под лицензией MIT.