muhamadzain / laravel-telegram-log
将laravel日志记录并发送到Telegram聊天机器人
1.1.0
2023-02-11 14:33 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^9.45
- monolog/monolog: ^2.0
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机器人
- 在Telegram中前往@BotFather
- 发送
/newbot
- 设置机器人的名称和机器人生成名。
- 获取令牌并将其添加到您的
.env
文件(如上所述) - 前往您的机器人并发送
/start
消息
在运行时更改日志模板
- 更改模板的配置。
config(['telegram-logger.template'=>'laravel-telegram-logging::custom'])
- 像通常一样使用
Log
Lumen支持
为了使其与Lumen一起工作,您还需要运行两个步骤
- 放置包含以下代码的
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'), ];
- 取消注释
$app->withFacades();
并在bootstrap/app.php
中配置文件$app->configure('telegram-logger');
- 将默认的Laravel/Lumen日志文件放置到
config/logging.php
中(以添加新通道)
版权所有© 2023 Muhamad Zainal Arifin