muhamadzain / laravel-telegram-log
laravel log record and send into Telegram Chat Bot
Requires
- php: ^7.4|^8.0
- illuminate/support: ^9.45
- monolog/monolog: ^2.0
README
Send logs to Telegram chat via Telegram bot. Inspired by https://github.com/grkamil/laravel-telegram-logging
Requirement
- PHP 8.0 above
- Laravel 8 or higher
Install
composer require muhamadzain/laravel-telegram-log
Configurations
Please define Telegram Bot Credentials and chat id as environment parameters by modifying .env
on your project path
TELEGRAM_BOT_TOKEN=null TELEGRAM_CHAT_ID=null TELEGRAM_LOGGER_TEMPLATE=null TELEGRAM_OPTIONS=[]
Create new logging channel by modifying config/logging.php file
'telegram' => [ 'driver' => 'custom', 'via' => TelegramLog\TelegramLogger::class, 'level' => 'debug', ]
Or if your default log channel is a stack, you can add it to the stack channel like this
'stack' => [ 'driver' => 'stack', 'channels' => ['single', 'telegram'], ]
By default LOG_CHANNEL
will be set into stack
so you need to set default logger on env after setting up configurations above
LOG_CHANNEL=telegram
Publish config file and views to override
php artisan vendor:publish --provider "TelegramLog\TelegramServiceProvider"
Create bot
For using this plugin, 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
/start
message
Change log template at runtime
- Change config for template.
config(['telegram-logger.template'=>'laravel-telegram-logging::custom'])
- Use
Log
as usual
Lumen support
To make it work with Lumen, you need also run two steps:
- Place config/telegram-logger.php file with following code:
<?php return [ // Telegram logger bot token 'token' => env('TELEGRAM_LOGGER_BOT_TOKEN'), // Telegram chat id 'chat_id' => env('TELEGRAM_LOGGER_CHAT_ID'), ];
- Uncomment
$app->withFacades();
and configure the file$app->configure('telegram-logger');
at bootstrap/app.php - Place default Laravel/Lumen logging file to config/logging.php (to add new channel).
Copyright © 2023 by Muhamad Zainal Arifin