Skip to content

This extension allows you to see your project logs in real time using Telegram app.

Notifications You must be signed in to change notification settings

electrobayan/telegram-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Logger

Latest Version on Packagist

This extension allows you to see your project logs in real time using Telegram app.

How To Install

via Composer require command (composer 2 is required):

Just type into the CLI in your project root:

composer require electrobayan/telegram-logger

via updating composer.json:

{
    "require": {
        "electrobayan/telegram-logger": "^1.0"
    }
}

Then run in you CLI:

composer install

How To Use

Quick example:

You will have to create a Telegram bot and a channel. Check the user guide here. Then just do the following:

$infoLogger = new \TelegramLogger\Creator\InfoPoster('Telegram Key Goes here', '@your_telegram_channel_name');
$infoLogger->post('test', ['key_1' => 'value_1', 'key_2' => 'value_2'], ['tag1', 'tag2']);

Details

There 3 types of log messages:

  • Info
  • Warning
  • Error
You are free to create new if needed. Each of these types of messages has their own icons, frame and titles. Depending on what type you need you should use an appropriate Poster: `InfoPoster`, `ErrorPoster` or `WarningPoster`.
$errorLogger = new \TelegramLogger\Creator\ErrorPoster('Telegram Key Goes here', '@your_telegram_channel_name');
$warningLogger = new \TelegramLogger\Creator\WarningPoster('Telegram Key Goes here', '@your_telegram_channel_name');
$infoLogger = new \TelegramLogger\Creator\InfoPoster('Telegram Key Goes here', '@your_telegram_channel_name');

After the poster created all is left is just to call post method.

$errorLogger->post('Error Message', ['key_1' => 'value_1', 'key_2' => 'value_2'], ['tag1', 'tag2']);
$warningLogger->post('Warning Message', ['key_1' => 'value_1', 'key_2' => 'value_2'], ['tag1', 'tag2']);
$infoLogger->post('Info Message', ['key_1' => 'value_1', 'key_2' => 'value_2'], ['tag1', 'tag2']);

Also, you can pass optional extra params if needed as an array key => value. Both key and value will be posted into the channel. You can pass optional tags if needed as an array key => value. Only values will be posted into the channel.