edsonjorgef1 / laravel-teams-logging
Laravel 扩展包,能够通过 Incoming Webhook 连接器将消息发送到 Microsoft Teams。它支持 Laravel 8.x
Requires
- php: ^7.0|^8.0
- monolog/monolog: ^1.23|^2.0
Requires (Dev)
- ext-curl: *
This package is auto-updated.
Last update: 2024-09-16 17:44:44 UTC
README
Laravel 处理器,使用 Incoming Webhook 连接器将消息发送到 Microsoft Teams。
安装
使用 composer 安装此包。
$ composer require edsonjorgef1/laravel-teams-logging
集成
该包已在 Laravel 和 Lumen 框架(5.7+)上测试并正常工作。
Laravel:安装完成后,您需要将以下行添加到您的 config/app.php
文件中
Edsonjorgef1\LaravelTeamsLogging\LoggerServiceProvider::class
Lumen:对于 Lumen,您需要将以下行添加到您的 bootstrap/app.php
文件中
$app->register(Edsonjorgef1\LaravelTeamsLogging\LoggerServiceProvider::class);
Laravel:然后从 laravel-teams-logging 复制 teams
配置文件到您的配置目录
$ php artisan vendor:publish --provider="Edsonjorgef1\LaravelTeamsLogging\LoggerServiceProvider"
Lumen:对于 Lumen,您需要手动将文件复制到您的配置目录,并在 bootstrap/app.php
中启用它
$app->configure('teams');
使用 Laravel 日志文件创建一个 自定义通道,或为 Lumen 创建新的日志配置文件。
将此配置添加到 config/logging.php
文件中
'teams' => [ 'driver' => 'custom', 'via' => \Edsonjorgef1\LaravelTeamsLogging\LoggerChannel::class, 'level' => 'debug', 'url' => env('INCOMING_WEBHOOK_URL'), 'style' => 'simple', // Available style is 'simple' and 'card', default is 'simple' ],
或简单地添加名称以指定每个连接器的不同项目名称。
'teams' => [ 'driver' => 'custom', 'via' => \Edsonjorgef1\LaravelTeamsLogging\LoggerChannel::class, 'level' => 'debug', 'url' => env('INCOMING_WEBHOOK_URL'), 'style' => 'simple', // Available style is 'simple' and 'card', default is 'simple' 'name' => 'Dummy Project' ],
Microsoft Teams 消息有 2 种可用样式,简单和卡片。您可以在结果样式(与简单样式不同)中查看卡片样式。
在将配置添加到您的 config/logging.php
文件后,将 INCOMING_WEBHOOK_URL
变量添加到您的 .env
文件中,并使用 Microsoft Teams 连接器的 URL。请参阅 microsoft teams 文档以找到您的连接器 URL。
用法
要向 teams 通道发送简单的错误消息,您可以使用以下脚本
Log::channel('teams')->error('Error message');
或者,您可以使用日志上下文向卡片消息添加更多信息。
Log::channel('teams')->error('Error message', [ 'name' => 'Assigned to', 'value' => 'Unassigned', ]);
在简单样式下,日志上下文将忽略消息。
您还可以将 teams
添加到默认的 stack
通道,以便将所有错误自动发送到 teams
通道。
'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['single', 'teams'], ], ],
结果
以下是使用卡片样式发送到 Microsoft Teams 通道的通知的一些结果。
AVATARS
许可证
此laravel-teams-logging软件包遵循MIT许可证。有关更多信息,请参阅LICENSE文件。