muhamadzain/laravel-telegram-log

将laravel日志记录并发送到Telegram聊天机器人

1.1.0 2023-02-11 14:33 UTC

This package is auto-updated.

Last update: 2024-09-11 18:11:34 UTC


README

通过Telegram机器人将日志发送到聊天。灵感来源于 https://github.com/grkamil/laravel-telegram-logging

需求

  • PHP 8.0以上
  • Laravel 8或更高版本

安装

composer require muhamadzain/laravel-telegram-log

配置

请通过修改项目路径下的.env文件,将Telegram机器人凭据和聊天ID定义为环境参数

TELEGRAM_BOT_TOKEN=null
TELEGRAM_CHAT_ID=null
TELEGRAM_LOGGER_TEMPLATE=null
TELEGRAM_OPTIONS=[]

通过修改config/logging.php文件创建新的日志通道

'telegram' => [
    'driver' => 'custom',
    'via'    => TelegramLog\TelegramLogger::class,
    'level'  => 'debug',
]

或者如果您的默认日志通道是一个栈,您可以像这样将其添加到栈通道中

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

默认情况下,LOG_CHANNEL将设置为stack,因此您需要在设置以上配置后,在环境中设置默认日志记录器

LOG_CHANNEL=telegram

发布配置文件和视图以覆盖

php artisan vendor:publish --provider "TelegramLog\TelegramServiceProvider"

创建机器人

要使用此插件,您需要创建Telegram机器人

  1. 在Telegram中前往@BotFather
  2. 发送/newbot
  3. 设置机器人的名称和机器人生成名。
  4. 获取令牌并将其添加到您的.env文件(如上所述)
  5. 前往您的机器人并发送/start消息

在运行时更改日志模板

  1. 更改模板的配置。
config(['telegram-logger.template'=>'laravel-telegram-logging::custom'])
  1. 像通常一样使用Log

Lumen支持

为了使其与Lumen一起工作,您还需要运行两个步骤

  1. 放置包含以下代码的config/telegram-logger.php文件
<?php

return [
    // Telegram logger bot token
    'token' => env('TELEGRAM_LOGGER_BOT_TOKEN'),

    // Telegram chat id
    'chat_id' => env('TELEGRAM_LOGGER_CHAT_ID'),
];
  1. 取消注释$app->withFacades();并在bootstrap/app.php中配置文件$app->configure('telegram-logger');
  2. 将默认的Laravel/Lumen日志文件放置到config/logging.php中(以添加新通道)

版权所有© 2023 Muhamad Zainal Arifin