metallheart / laravel-telegram-logger
Laravel package for logging to Telegram
Installs: 165
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/metallheart/laravel-telegram-logger
Requires
- php: ^8.2
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- monolog/monolog: ^3.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
README
Пакет для отправки логов Laravel в Telegram.
Установка
composer require metallheart/laravel-telegram-logger
Пакет автоматически регистрируется через Laravel Package Discovery.
Настройка
- Опубликуйте конфигурацию:
php artisan vendor:publish --tag=telegram-logger-config
- Добавьте переменные в
.env:
TELEGRAM_BOT_TOKEN=your_bot_token TELEGRAM_CHAT_ID=your_chat_id TELEGRAM_LOG_LEVEL=error TELEGRAM_LOG_ENABLED=true
- Добавьте канал в
config/logging.php:
'channels' => [ // ... другие каналы 'telegram' => [ 'driver' => 'telegram', ], // Или добавьте в stack 'stack' => [ 'driver' => 'stack', 'channels' => ['single', 'telegram'], ], ],
Использование
Основное использование
use Illuminate\Support\Facades\Log; // Отправка логов через канал telegram Log::channel('telegram')->error('Произошла ошибка!'); Log::channel('telegram')->info('Информационное сообщение'); // Или используя stack Log::error('Ошибка будет отправлена в файл и Telegram');
С контекстом
Log::channel('telegram')->error('Ошибка в оплате', [ 'user_id' => 123, 'amount' => 1000, 'payment_method' => 'card' ]);
Конфигурация
Доступные опции в config/telegram-logger.php:
bot_token- Токен бота Telegramchat_id- ID чата для отправки сообщенийlog_level- Минимальный уровень логов (debug, info, notice, warning, error, critical, alert, emergency)timeout- Таймаут HTTP запроса (секунды)fallback_channel- Резервный канал при недоступности Telegramenabled- Включить/отключить логированиеmessage_format- Формат сообщенияinclude_context- Включать контекст в сообщенияinclude_extra- Включать дополнительные данныеdate_format- Формат даты
Получение Bot Token и Chat ID
Bot Token
- Найдите @BotFather в Telegram
- Отправьте
/newbot - Следуйте инструкциям
- Скопируйте токен
Chat ID
- Добавьте бота в чат или группу
- Отправьте сообщение
- Откройте
https://api.telegram.org/bot<TOKEN>/getUpdates - Найдите
chat.idв ответе
Лицензия
MIT