iqbalatma / laravel-telegram-bot-channel-async
此软件包的最新版本(v1.0.0)没有可用的许可证信息。
v1.0.0
2023-02-14 08:43 UTC
Requires
- php: ^8.0.2
- laravel/framework: ^8.0 || ^9.19
This package is auto-updated.
Last update: 2024-09-15 02:52:27 UTC
README
这是一个laravel软件包,用于通过telegram频道以异步方式使用Monolog库发送应用程序日志。
安装
使用终端中的composer安装此软件包
composer require iqbalatma/laravel-telegram-bot-channel-async
在.env文件中定义Telegram机器人令牌和聊天ID(频道ID)
TELEGRAM_APP_KEY=12345:asdngasd13rcffas12r
TELEGRAM_CHANNEL="@atmadevlogging"
将新的频道添加到config/logging.php
"channels" => [ ..., "telegram" => [ "driver" => "custom", "via" => new Iqbalatma\LaravelTelegramBotChannelAsync\TelegramLogger(env('TELEGRAM_APP_KEY'), env('TELEGRAM_CHANNEL'), true), "level" => "debug" ] ]
如果你使用的是日志频道类型为stack,可以将频道名称"telegram"添加到如下设置的数组中
"stack" => [ "driver" => "stack", "channels" => ["single", "telegram"], ]
此软件包使用laravel队列,因此消息通过Job类异步发送。在你可以使用此应用程序之前,你需要设置队列并运行工作进程。例如,你可以将QUEUE_CONNECTION更改为数据库(你可以使用任何其他驱动器来完成此操作,如redis)。
QUEUE_CONNECTION=database
更改队列环境配置后,你需要运行迁移和工作进程,可以使用以下命令
php artisan queue:table
php artisan migrate
php artisan queue:work
你需要配置服务提供者,以便当应用程序发生错误异常时,也可以通过重写报告方法处理程序异步发送。
将服务提供者添加到config/app.php文件中
/* * Package Service Providers... */ Iqbalatma\LaravelTelegramBotChannelAsync\Providers\TelegramBotChannelServiceProvider::class,
你可以使用Log类和不同的日志级别记录应用程序。第一个参数是字符串形式的日志消息,然后是数组形式的日志上下文(可选)
use Iqbalatma\LaravelTelegramBotChannelAsync\Log; Log::debug("This is debug message"); Log::info("This is info message"); Log::notice("This is notice message"); Log::warning("This is warning message"); Log::error("This is error message"); Log::critical("This is critical message"); Log::emergency("This is emergency message", , ["problem" => "Some problem description"]);