flashteamdev/laravel-telegram-logging
| Install | |
|---|---|
composer require flashteamdev/laravel-telegram-logging |
|
| Latest Version: | v13.0.0 |
| PHP: | ^8.2 |
| Laravel: | 10 – 13 |
| License: | MIT |
| Last Updated: | Mar 19, 2026 |
| Links: | GitHub · Packagist |
Laravel Telegram logger
Send logs to Telegram chat via Telegram bot
Install
composer require flashteamdev/laravel-telegram-logging
Define Telegram Bot Token and chat id (users telegram id) and set as environment parameters. Add to .env
TELEGRAM_LOGGER_BOT_TOKEN="id1:token1,id2:token2"
TELEGRAM_LOGGER_CHAT_ID=chat_id
Add to config/logging.php file new channel:
'telegram' => [
'driver' => 'custom',
'via' => Logger\TelegramLogger::class,
'level' => 'debug',
]
If your default log channel is a stack, you can add it to the stack channel like this
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'telegram'],
]
Or you can simply change the default log channel in the .env
LOG_CHANNEL=telegram
Publish config file and views
php artisan vendor:publish --provider "Logger\TelegramLoggerServiceProvider"
Telegram Logging Formats
You can choose among two different formats that you can specify in the .env file like this :
# Use a minimal log template
TELEGRAM_LOGGER_TEMPLATE = laravel-telegram-logging::minimal
# Or use the backward compatible one (default setting used even without inserting this row)
TELEGRAM_LOGGER_TEMPLATE = laravel-telegram-logging::standard
It is possible to create other blade templates and reference them in the TELEGRAM_LOGGER_TEMPLATE entry
Create bot
For using this package you need to create Telegram bot
- Go to @BotFather in the Telegram
- Send
/newbot - Set up name and bot-name for your bot.
- Get token and add it to your .env file (it is written above)
- Go to your bot and send
/startmessage
Change log template at runtime
- Change config for template.
config(['telegram-logger.template'=>'laravel-telegram-logging::custom'])
- Use
Logas usual.
Configuring a different chat id or token per channel
- Add
chat_idortokento channels inconfig/logging.php. Overridesconfig('telegram.chat_id').
[
'channels' => [
[
'company' => [
'driver' => 'custom',
'via' => TelegramLogger::class,
'chat_id' => env('TELEGRAM_COMPANY_CHAT_ID'),
'token' => env('TELEGRAM_COMPANY_BOT_TOKEN'),
'level' => 'debug'
],
'operations' => [
'driver' => 'custom',
'via' => TelegramLogger::class,
'chat_id' => env('TELEGRAM_OPERATIONS_CHAT_ID'),
'token' => env('TELEGRAM_OPERATIONS_BOT_TOKEN'),
'level' => 'debug'
]
]
]
]
- Use
Logas usual.
Proxy support
To use a proxy server, set the variable in the .env
TELEGRAM_LOGGER_PROXY=proxy_server.com:port
Exclude logs
To ignore logs containing specific text, add the following to your .env file:
TELEGRAM_LOGGER_EXCLUDE_WORDS="word1,word2"
Or you can add them to your config/logging.php channel:
'telegram' => [
'driver' => 'custom',
'via' => Logger\TelegramLogger::class,
'level' => 'debug',
'exclude_words' => ['word1', 'word2'],
]
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v13.0.0 | ^8.2 | ^10.0 | | MIT |