Skip to content
This repository has been archived by the owner on Dec 4, 2022. It is now read-only.

sergeymakinen/yii2-telegram-log

Repository files navigation

Telegram log target for Yii 2

Telegram log target for Yii 2.

Screenshot

Code Quality Build Status Code Coverage SensioLabsInsight

Packagist Version Total Downloads Software License

Installation

The preferred way to install this extension is through composer.

Either run

composer require "sergeymakinen/yii2-telegram-log:^2.0"

or add

"sergeymakinen/yii2-telegram-log": "^2.0"

to the require section of your composer.json file.

Usage

First create a new bot and obtain its token. It should look like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.

You will also need a chat ID to send logs to. You can use the @get_id_bot bot to obtain it. It should look like 123456789.

Then set the following Yii 2 configuration parameters:

'components' => [
    'log' => [
        'targets' => [
            [
                'class' => 'sergeymakinen\yii\telegramlog\Target',
                'token' => '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',
                'chatId' => 123456789,
            ],
        ],
    ],
],

Configuration

By default yii\log\Logger error levels are mapped to emojis (you can tweak them in the levelEmojis property):

Error level Emoji
Logger::LEVEL_ERROR ☠️
Logger::LEVEL_WARNING ⚠️
Logger::LEVEL_INFO ℹ️
Logger::LEVEL_TRACE 📝

It's also possible to disable notifications - entirely or per logger level (look at the enableNotification property), for example:

public $enableNotification = [
    Logger::LEVEL_ERROR => true,
    Logger::LEVEL_WARNING => false,
    Logger::LEVEL_INFO => false,
];

This will disable notifications for warning and info level messages and enable them for other levels (honestly, you can omit the LEVEL_ERROR definition here as it's true by default).