ryanda/monolog-telegram

Telegram Monolog 处理器

v0.2.0 2020-05-29 06:57 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:31 UTC


README

Monolog 处理器通过机器人将您的日志发送到 Telegram 频道。

要求

  • PHP 5.6 或更高版本
  • cURL 扩展

安装

使用 composer 安装

$ composer require ryanda/monolog-telegram

基本用法

<?php

require __DIR__ . '/vendor/autoload.php';

use Monolog\Logger;
use Ryanda\MonologTelegram\TelegramBotHandler;

// create a log channel
$log = new Logger('name');
$log->pushHandler(new TelegramBotHandler('YOUR_API_KEY', 'YOUR_CHANNEL_ID', Logger::WARNING));

// push to the channel
$log->warning('Foo');
$log->error('Bar');

与 Laravel 集成

打开 config/logging.php 并找到 channels 键。将以下频道添加到列表中。

...
'channels' => [
    'stack' => [
        'driver'   => 'stack',
        'channels' => ['telegram'],
    ],

    ....

    'telegram' => [
        'driver' => 'monolog',
        'handler' => \Ryanda\MonologTelegram\TelegramBotHandler::class,
        'formatter' => \Ryanda\MonologTelegram\TelegramFormatter::class,
        'with' => [
            'apiKey' => env('TELEGRAM_BOT_API'),
            'channel' => env('TELEGRAM_BOT_CHANNEL'),
        ],
    ]
]
...

将以下信息添加到您的 .env 文件中。您的 TELEGRAM_BOT_API 是机器人密钥,TELEGRAM_BOT_CHANNEL 是一个 Telegram 用户或频道的聊天 ID。

TELEGRAM_BOT_API=123456789:ABCDEFGHIJKLMNOPQUSTUFWXYZabcdefghi
TELEGRAM_BOT_CHANNEL=12345678

注意

如果您想添加更多信息,可以使用 Laravel 的 tap 功能,通过传递数组作为参数。

Tap 文档

'telegram' => [
    'driver' => 'monolog',
    'handler' => \Ryanda\MonologTelegram\TelegramBotHandler::class,
    'formatter' => \Ryanda\MonologTelegram\TelegramFormatter::class,
    'tap' => [\App\Exceptions\TelegramTap::class],
    'with' => [
        'apiKey' => env('TELEGRAM_BOT_API'),
        'channel' => env('TELEGRAM_BOT_CHANNEL'),
    ],
]

许可证

LICENSE