PHPackages                             stajor/laravel-telegram-logging - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. stajor/laravel-telegram-logging

ActiveLibrary

stajor/laravel-telegram-logging
===============================

Send logs to Telegram chat via Telegram bot

13.0(1mo ago)07↑2900%MITPHPPHP ^8.3

Since Mar 24Pushed 1mo agoCompare

[ Source](https://github.com/Stajor/laravel-telegram-logging)[ Packagist](https://packagist.org/packages/stajor/laravel-telegram-logging)[ RSS](/packages/stajor-laravel-telegram-logging/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Laravel Telegram logger
=======================

[](#laravel-telegram-logger)

Send logs to Telegram chat via Telegram bot

Install
-------

[](#install)

```

composer require stajor/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=id:token
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
------------------------

[](#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
----------

[](#create-bot)

For using this package you need to create Telegram bot

1. Go to @BotFather in the Telegram
2. Send `/newbot`
3. Set up name and bot-name for your bot.
4. Get token and add it to your .env file (it is written above)
5. Go to your bot and send `/start` message

Change log template at runtime
------------------------------

[](#change-log-template-at-runtime)

1. Change config for template.

```
config(['telegram-logger.template'=>'laravel-telegram-logging::custom'])
```

2. Use `Log` as usual.

Configuring a different chat id or token per channel
----------------------------------------------------

[](#configuring-a-different-chat-id-or-token-per-channel)

1. Add `chat_id` or `token` to channels in `config/logging.php`. Overrides `config('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'
            ]
        ]
    ]
]
```

2. Use `Log` as usual.

Lumen support
-------------

[](#lumen-support)

To make it work with Lumen, you need also run two steps:

1. Place config/telegram-logger.php file with following code:

```
