emotality / laravel-telegram-logger
Laravel package to report exceptions to a Telegram chat, group or channel.
Fund package maintenance!
emotality
Buy Me A Coffee
Installs: 5 093
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/emotality/laravel-telegram-logger
Requires
- php: ^8.1
- ext-json: *
- illuminate/http: >10.0
- illuminate/support: >10.0
- monolog/monolog: ^3.0
Requires (Dev)
- laravel/pint: ^1.15
README
Laravel package to report exceptions to a Telegram chat, group or channel.
Requirements
- PHP 8.1+
- Laravel 10
Installation
composer require emotality/laravel-telegram-loggerphp artisan vendor:publish --provider="Emotality\Telegram\TelegramLoggerServiceProvider"- Add the following lines to your
.env:
TELEGRAM_APP_NAME="A non-APP_NAME name" // optional TELEGRAM_API_KEY="<telegram_api_key>" TELEGRAM_CHAT_ID="<telegram_chat_id>"
- Add the
telegramblock to thechannelsarray, inside yourconfig/logging.phpfile:
'channels' => [ ... 'telegram' => [ 'driver' => 'telegram', 'level' => env('LOG_LEVEL', 'error'), 'cache_ttl' => env('TELEGRAM_CACHE_TTL', 300), ], ],
Note: Read more about the cache_ttl key below.
- Update your log stack and add
telegramto thechannelsarray inconfig/logging.php:
'stack' => [ 'driver' => 'stack', 'channels' => ['daily', 'telegram'], ..., ],
or change your LOG_CHANNEL in your .env:
LOG_CHANNEL=telegram
Caching TTL explained:
A MD5 checksum is being created for every exception, then that checksum is being cached for the cache_ttl seconds you provide. If checksum exists in the cache, the log will not be sent.
In other words, when the exact same exception reoccurs, only the first exception will be logged, if after 300 seconds it still occurs, it will be logged again.
Only the first occurrence of the same exception will be logged every 300 seconds to avoid flooding the Telegram API and your chat.
The cache_ttl key accepts false to disable caching, meaning, each and every exception will be logged to Telegram, even if it's 1000 of the same exception.
License
laravel-telegram-logger is released under the MIT license. See LICENSE for details.